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,39 +1,19 @@
Before:
runtime ale_linters/slim/slimlint.vim
call ale#assert#SetUpLinterTest('slim', 'slimlint')
let g:default_command = 'slim-lint %t'
call ale#test#SetDirectory('/testplugin/test/command_callback')
After:
Restore
unlet! g:default_command
unlet! b:conf
call ale#linter#Reset()
call ale#test#RestoreDirectory()
call ale#assert#TearDownLinterTest()
Execute(The default command should be correct):
AssertEqual g:default_command, ale_linters#slim#slimlint#GetCommand(bufnr(''))
AssertLinter 'slim-lint', 'slim-lint %t'
Execute(The command should have the .rubocop.yml prepended as an env var if one exists):
call ale#test#SetFilename('../slimlint-test-files/subdir/file.slim')
let b:conf = ale#path#Simplify(g:dir . '/../slimlint-test-files/.rubocop.yml')
if has('win32')
" Windows uses 'set var=... && command'
AssertEqual
\ 'set SLIM_LINT_RUBOCOP_CONF='
\ . ale#Escape(b:conf)
\ . ' && ' . g:default_command,
\ ale_linters#slim#slimlint#GetCommand(bufnr(''))
else
" Unix uses 'var=... command'
AssertEqual
\ 'SLIM_LINT_RUBOCOP_CONF='
\ . ale#Escape(b:conf)
\ . ' ' . g:default_command,
\ ale_linters#slim#slimlint#GetCommand(bufnr(''))
endif
AssertLinter 'slim-lint',
\ ale#Env(
\ 'SLIM_LINT_RUBOCOP_CONF',
\ ale#path#Simplify(g:dir . '/../slimlint-test-files/.rubocop.yml')
\ )
\ . 'slim-lint %t'