Merge pull request #1511 from elebow/add-cucumber-checker

Add `cucumber` checker for Cucumber files
This commit is contained in:
w0rp
2018-04-21 09:23:07 +01:00
committed by GitHub
7 changed files with 90 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
Before:
runtime ale_linters/ruby/rubocop.vim
call ale#test#SetDirectory('/testplugin/test/')
After:
Restore
call ale#linter#Reset()
call ale#test#RestoreDirectory()
Execute(Should require the nearest features dir, if one is found):
call ale#test#SetFilename('cucumber_fixtures/features/cuke.feature')
AssertEqual
\ 'cucumber --dry-run --quiet --strict --format=json '
\ . '-r ' . ale#Escape(ale#path#Simplify(g:dir . '/cucumber_fixtures/features/')) . ' %t',
\ ale_linters#cucumber#cucumber#GetCommand(bufnr(''))
Execute(Should require nothing if no features dir is found):
call ale#test#SetFilename('something/without/a/features/dir')
AssertEqual
\ 'cucumber --dry-run --quiet --strict --format=json '
\ . ' %t',
\ ale_linters#cucumber#cucumber#GetCommand(bufnr(''))

View File

@@ -0,0 +1,18 @@
Before:
runtime ale_linters/cucumber/cucumber.vim
After:
call ale#linter#Reset()
Execute(The cucumber handler parses JSON correctly):
AssertEqual
\ [
\ {
\ 'lnum': 13,
\ 'code': 'E',
\ 'text': 'Undefined step'
\ }
\ ],
\ ale_linters#cucumber#cucumber#Handle(bufnr(''), [
\ '[{"elements": [{"steps": [{"result": {"status": "undefined"},"match": {"location": "features/cuke.feature:13"},"line": 13,"name": "Something undefined","keyword": "Given "},{"result": {"status": "skipped"},"match": {"location": "/var/lib/gems/2.3.0/gems/cucumber-3.1.0/lib/cucumber/step_match.rb:103"},"line": 14,"name": "I visit the profile page for Alice","keyword": "When "}],"type": "scenario","line": 12,"description": "","name": "Another scenario","keyword": "Scenario","id": "a-user-can-view-another-users-profile;another-scenario"}],"line": 1,"description": "","name": "A user can view another users profile","keyword": "Feature","id": "a-user-can-view-another-users-profile","uri": "features/cuke.feature"}]'
\ ])