Fix #1186 - Use -w by default for Perl, which does not execute code

This commit is contained in:
w0rp
2017-12-02 12:26:30 +00:00
parent 83760a0952
commit f5fc746d00
3 changed files with 45 additions and 7 deletions

View File

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