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,37 +1,14 @@
Before:
Save g:ale_perl_perl_executable
Save g:ale_perl_perl_options
unlet! g:ale_perl_perl_executable
unlet! g:ale_perl_perl_options
runtime ale_linters/perl/perl.vim
call ale#assert#SetUpLinterTest('perl', 'perl')
After:
Restore
unlet! b:ale_perl_perl_executable
unlet! b:ale_perl_perl_options
call ale#linter#Reset()
call ale#assert#TearDownLinterTest()
Execute(The default Perl command callback should be correct):
AssertEqual
\ 'perl',
\ ale_linters#perl#perl#GetExecutable(bufnr(''))
AssertEqual
\ ale#Escape('perl') . ' -c -Mwarnings -Ilib %t',
\ ale_linters#perl#perl#GetCommand(bufnr(''))
AssertLinter 'perl', ale#Escape('perl') . ' -c -Mwarnings -Ilib %t'
Execute(Overriding the executable and command should work):
let b:ale_perl_perl_executable = 'foobar'
let b:ale_perl_perl_options = '-w'
AssertEqual
\ 'foobar',
\ ale_linters#perl#perl#GetExecutable(bufnr(''))
AssertEqual
\ ale#Escape('foobar') . ' -w %t',
\ ale_linters#perl#perl#GetCommand(bufnr(''))
AssertLinter 'foobar', ale#Escape('foobar') . ' -w %t'