Massively reduce the amount of code needed for linter tests

This commit is contained in:
w0rp
2018-07-15 18:24:53 +01:00
parent 5155a35a80
commit a42999a639
138 changed files with 1447 additions and 3017 deletions

View File

@@ -1,44 +1,18 @@
Before:
Save g:ale_chef_foodcritic_executable
Save g:ale_chef_foodcritic_options
unlet! g:ale_chef_foodcritic_executable
unlet! g:ale_chef_foodcritic_options
call ale#test#SetDirectory('/testplugin/test')
runtime ale_linters/chef/foodcritic.vim
call ale#assert#SetUpLinterTest('chef', 'foodcritic')
After:
Restore
unlet! b:ale_chef_foodcritic_executable
unlet! b:ale_chef_foodcritic_options
call ale#test#RestoreDirectory()
call ale#linter#Reset()
call ale#assert#TearDownLinterTest()
Execute(The default command should be correct):
AssertEqual
\ 'foodcritic',
\ ale_linters#chef#foodcritic#GetExecutable(bufnr(''))
AssertEqual
\ ale#Escape('foodcritic') . ' %s',
\ ale_linters#chef#foodcritic#GetCommand(bufnr(''))
AssertLinter 'foodcritic', ale#Escape('foodcritic') . ' %s'
Execute(Extra options should be included with escapeed tildes (~)):
let b:ale_chef_foodcritic_options = '-t ~F011'
AssertEqual
\ ale#Escape('foodcritic') . ' -t \~F011 %s',
\ ale_linters#chef#foodcritic#GetCommand(bufnr(''))
AssertLinter 'foodcritic', ale#Escape('foodcritic') . ' -t \~F011 %s'
Execute(The executable should be configurable):
let b:ale_chef_foodcritic_executable = 'foobar'
AssertEqual
\ 'foobar',
\ ale_linters#chef#foodcritic#GetExecutable(bufnr(''))
AssertEqual
\ ale#Escape('foobar') . ' %s',
\ ale_linters#chef#foodcritic#GetCommand(bufnr(''))
AssertLinter 'foobar', ale#Escape('foobar') . ' %s'