Merge pull request #1511 from elebow/add-cucumber-checker
Add `cucumber` checker for Cucumber files
This commit is contained in:
25
test/command_callback/test_cucumber_command_callback.vader
Normal file
25
test/command_callback/test_cucumber_command_callback.vader
Normal 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(''))
|
||||
0
test/cucumber_fixtures/features/cuke.feature
Normal file
0
test/cucumber_fixtures/features/cuke.feature
Normal file
18
test/handler/test_cucumber_handler.vader
Normal file
18
test/handler/test_cucumber_handler.vader
Normal 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"}]'
|
||||
\ ])
|
||||
Reference in New Issue
Block a user