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,38 +1,24 @@
Before:
Save g:ale_php_phpstan_executable
Save g:ale_php_phpstan_level
Save g:ale_php_phpstan_configuration
unlet! g:ale_php_phpstan_executable
unlet! g:ale_php_phpstan_level
unlet! g:ale_php_phpstan_configuration
runtime ale_linters/php/phpstan.vim
call ale#assert#SetUpLinterTest('php', 'phpstan')
After:
Restore
call ale#linter#Reset()
call ale#assert#TearDownLinterTest()
Execute(Custom executables should be used for the executable and command):
let g:ale_php_phpstan_executable = 'phpstan_test'
AssertEqual 'phpstan_test', ale_linters#php#phpstan#GetExecutable(bufnr(''))
AssertEqual
\ ale#Escape('phpstan_test') . ' analyze -l4 --errorFormat raw %s',
\ ale_linters#php#phpstan#GetCommand(bufnr(''))
AssertLinter 'phpstan_test',
\ ale#Escape('phpstan_test') . ' analyze -l4 --errorFormat raw %s'
Execute(project with level set to 3):
call ale#test#SetFilename('phpstan-test-files/foo/test.php')
let g:ale_php_phpstan_level = 3
AssertEqual
\ ale#Escape('phpstan') . ' analyze -l3 --errorFormat raw %s',
\ ale_linters#php#phpstan#GetCommand(bufnr(''))
AssertLinter 'phpstan',
\ ale#Escape('phpstan') . ' analyze -l3 --errorFormat raw %s'
Execute(Custom phpstan configuration file):
let g:ale_php_phpstan_configuration = 'phpstan_config'
AssertEqual
\ ale#Escape('phpstan') . ' analyze -l4 --errorFormat raw -c phpstan_config %s',
\ ale_linters#php#phpstan#GetCommand(bufnr(''))
AssertLinter 'phpstan',
\ ale#Escape('phpstan') . ' analyze -l4 --errorFormat raw -c phpstan_config %s'