forked from github-mirrors/ale
#3633 - Move linter tests into test/linter
This commit is contained in:
parent
35caaecc9f
commit
f7852dbd0a
|
@ -1,32 +1,24 @@
|
|||
" Author: jD91mZM2 <me@krake.one>
|
||||
call ale#Set('json_jq_executable', 'jq')
|
||||
call ale#Set('json_jq_options', '')
|
||||
call ale#Set('json_jq_filters', '.')
|
||||
|
||||
function! ale_linters#json#jq#GetCommand(buffer) abort
|
||||
let l:executable = ale#fixers#jq#GetExecutable(a:buffer)
|
||||
|
||||
return ale#Escape(l:executable)
|
||||
endfunction
|
||||
" Matches patterns like the following:
|
||||
" parse error: Expected another key-value pair at line 4, column 3
|
||||
let s:pattern = '^parse error: \(.\+\) at line \(\d\+\), column \(\d\+\)$'
|
||||
|
||||
function! ale_linters#json#jq#Handle(buffer, lines) abort
|
||||
" Matches patterns like the following:
|
||||
" parse error: Expected another key-value pair at line 4, column 3
|
||||
let l:pattern = '^parse error: \(.\+\) at line \(\d\+\), column \(\d\+\)$'
|
||||
let l:output = []
|
||||
|
||||
for l:match in ale#util#GetMatches(a:lines, l:pattern)
|
||||
call add(l:output, {
|
||||
\ 'text': l:match[1],
|
||||
\ 'lnum': l:match[2] + 0,
|
||||
\ 'col': l:match[3] + 0,
|
||||
\})
|
||||
endfor
|
||||
|
||||
return l:output
|
||||
return ale#util#MapMatches(a:lines, s:pattern, {match -> {
|
||||
\ 'text': match[1],
|
||||
\ 'lnum': match[2] + 0,
|
||||
\ 'col': match[3] + 0,
|
||||
\}})
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('json', {
|
||||
\ 'name': 'jq',
|
||||
\ 'executable': function('ale#fixers#jq#GetExecutable'),
|
||||
\ 'executable': {b -> ale#Var(b, 'json_jq_executable')},
|
||||
\ 'output_stream': 'stderr',
|
||||
\ 'command': function('ale_linters#json#jq#GetCommand'),
|
||||
\ 'command': '%e',
|
||||
\ 'callback': 'ale_linters#json#jq#Handle',
|
||||
\})
|
||||
|
|
|
@ -293,7 +293,7 @@ function! ale#assert#SetUpLinterTest(filetype, name) abort
|
|||
execute 'runtime ale_linters/' . a:filetype . '/' . a:name . '.vim'
|
||||
|
||||
if !exists('g:dir')
|
||||
call ale#test#SetDirectory('/testplugin/test/command_callback')
|
||||
call ale#test#SetDirectory('/testplugin/test/linter')
|
||||
endif
|
||||
|
||||
call ale#assert#SetUpLinterTestCommands()
|
||||
|
|
|
@ -181,7 +181,7 @@ Generally write tests for any changes you make. The following types of tests
|
|||
are recommended for the following types of code.
|
||||
|
||||
* New/edited error handler callbacks -> Write tests in `test/handler`
|
||||
* New/edited command callbacks -> Write tests in `test/command_callback`
|
||||
* New/edited linter definition -> Write tests in `test/linter`
|
||||
* New/edited fixer functions -> Write tests in `test/fixers`
|
||||
|
||||
Look at existing tests in the codebase for examples of how to write tests.
|
||||
|
@ -278,8 +278,8 @@ be written like so. >
|
|||
\ '1:Something went wrong',
|
||||
\ ]
|
||||
<
|
||||
Tests for what ALE runs should go in the `test/command_callback` directory,
|
||||
and should be written like so. >
|
||||
Tests for what ALE runs should go in the `test/linter` directory, and should
|
||||
be written like so. >
|
||||
|
||||
Before:
|
||||
" Load the linter and set up a series of commands, reset linter variables,
|
||||
|
|
|
@ -11,6 +11,10 @@ Before:
|
|||
let g:feedkeys_calls = []
|
||||
let g:fake_mode = 'i'
|
||||
|
||||
let b:ale_linters = {
|
||||
\ 'typescript': ['tsserver'],
|
||||
\}
|
||||
|
||||
let &l:completeopt = 'menu,menuone,preview,noselect,noinsert'
|
||||
|
||||
runtime autoload/ale/util.vim
|
||||
|
@ -69,6 +73,7 @@ After:
|
|||
unlet! b:ale_completion_info
|
||||
unlet! b:ale_completion_result
|
||||
unlet! b:ale_complete_done_time
|
||||
unlet! b:ale_linters
|
||||
|
||||
delfunction CheckCompletionCalled
|
||||
delfunction ale#code_action#HandleCodeAction
|
||||
|
|
|
@ -7,9 +7,6 @@ Before:
|
|||
let g:ale_python_autoimport_options = ''
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
let b:bin_dir = has('win32') ? 'Scripts' : 'bin'
|
||||
|
||||
|
|
|
@ -7,8 +7,6 @@ Before:
|
|||
let g:ale_python_autopep8_options = ''
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
let b:bin_dir = has('win32') ? 'Scripts' : 'bin'
|
||||
|
|
|
@ -12,7 +12,7 @@ After:
|
|||
call ale#test#RestoreDirectory()
|
||||
|
||||
Execute(The bibclean callback should return the correct default values):
|
||||
call ale#test#SetFilename('../command_callback/../test-files/bib/dummy.bib')
|
||||
call ale#test#SetFilename('../test-files/bib/dummy.bib')
|
||||
|
||||
AssertEqual
|
||||
\ {'command': ale#Escape(g:ale_bib_bibclean_executable) . ' -align-equals'},
|
||||
|
@ -20,7 +20,7 @@ Execute(The bibclean callback should return the correct default values):
|
|||
|
||||
Execute(The bibclean callback should include custom bibclean options):
|
||||
let g:ale_bib_bibclean_options = '-author -check-values'
|
||||
call ale#test#SetFilename('../command_callback/../test-files/bib/dummy.bib')
|
||||
call ale#test#SetFilename('../test-files/bib/dummy.bib')
|
||||
|
||||
AssertEqual
|
||||
\ {
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
Before:
|
||||
call ale#assert#SetUpFixerTest('python', 'black')
|
||||
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
let b:bin_dir = has('win32') ? 'Scripts' : 'bin'
|
||||
|
||||
|
|
|
@ -7,8 +7,6 @@ Before:
|
|||
let g:ale_c_clangformat_executable = 'xxxinvalid'
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
After:
|
||||
|
|
|
@ -17,8 +17,6 @@ Before:
|
|||
let g:ale_c_build_dir = ''
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ../command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
|
|
@ -8,8 +8,6 @@ After:
|
|||
Execute(The fecs fixer should respect to g:ale_javascript_fecs_executable):
|
||||
let g:ale_javascript_fecs_executable = '../test-files/fecs/fecs'
|
||||
let g:ale_javascript_fecs_use_global = 1
|
||||
silent cd ../command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
AssertEqual
|
||||
\ {
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
Before:
|
||||
call ale#assert#SetUpFixerTest('html', 'html-beautify', 'beautify')
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
Before:
|
||||
call ale#assert#SetUpFixerTest('python', 'isort')
|
||||
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
let b:bin_dir = has('win32') ? 'Scripts' : 'bin'
|
||||
|
||||
After:
|
||||
|
|
|
@ -5,9 +5,6 @@ Before:
|
|||
let g:ale_php_cs_fixer_options = ''
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
|
|
@ -9,9 +9,6 @@ Before:
|
|||
let g:ale_php_phpcbf_use_global = 0
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
@ -75,9 +72,6 @@ Before:
|
|||
let g:ale_php_phpcbf_use_global = 0
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
|
|
@ -4,10 +4,6 @@ Before:
|
|||
|
||||
let g:ale_command_wrapper = ''
|
||||
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
After:
|
||||
call ale#assert#TearDownFixerTest()
|
||||
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
Before:
|
||||
call ale#assert#SetUpFixerTest('javascript', 'prettier_standard')
|
||||
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
After:
|
||||
call ale#assert#TearDownFixerTest()
|
||||
|
||||
|
|
|
@ -7,9 +7,6 @@ Before:
|
|||
let g:ale_puppet_puppetlint_options = '--invalid'
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
|
|
@ -7,9 +7,6 @@ Before:
|
|||
let g:ale_python_reorder_python_imports_options = ''
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
let b:bin_dir = has('win32') ? 'Scripts' : 'bin'
|
||||
|
||||
|
|
|
@ -7,9 +7,6 @@ Before:
|
|||
let g:ale_ruby_rubocop_options = ''
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
|
|
@ -4,8 +4,7 @@ Before:
|
|||
" Use an invalid global executable, so we don't match it.
|
||||
let g:ale_ruby_rufo_executable = 'xxxinvalid'
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/command_callback')
|
||||
let g:dir = getcwd()
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
|
|
@ -7,9 +7,6 @@ Before:
|
|||
let g:ale_scala_scalafmt_options = ''
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
Before:
|
||||
Save g:ale_ruby_sorbet_executable
|
||||
Save g:ale_ruby_sorbet_options
|
||||
|
@ -8,9 +7,6 @@ Before:
|
|||
let g:ale_ruby_sorbet_options = ''
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
|
|
@ -7,9 +7,6 @@ Before:
|
|||
let g:ale_ruby_standardrb_options = ''
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
|
|
@ -5,9 +5,6 @@ Before:
|
|||
let g:ale_swift_swiftformat_executable = 'xxxinvalid'
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
|
|
@ -5,10 +5,6 @@ Before:
|
|||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
||||
|
|
|
@ -8,10 +8,7 @@ Before:
|
|||
unlet! b:ale_typescript_tslint_config_path
|
||||
|
||||
call ale#handlers#tslint#InitVariables()
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/command_callback')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
|
|
@ -5,9 +5,6 @@ Before:
|
|||
let g:ale_c_uncrustify_executable = 'xxxinvalid'
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
Before:
|
||||
call ale#assert#SetUpFixerTest('yaml', 'yamlfix')
|
||||
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
let b:bin_dir = has('win32') ? 'Scripts' : 'bin'
|
||||
|
||||
After:
|
||||
|
|
|
@ -5,9 +5,6 @@ Before:
|
|||
let g:ale_python_yapf_executable = 'xxxinvalid'
|
||||
|
||||
call ale#test#SetDirectory('/testplugin/test/fixers')
|
||||
silent cd ..
|
||||
silent cd command_callback
|
||||
let g:dir = getcwd()
|
||||
|
||||
let b:bin_dir = has('win32') ? 'Scripts' : 'bin'
|
||||
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
Before:
|
||||
runtime ale_linters/tex/lacheck.vim
|
||||
call ale#test#SetDirectory('/testplugin/test')
|
||||
call ale#test#SetDirectory('/testplugin/test/handler')
|
||||
|
||||
After:
|
||||
call ale#linter#Reset()
|
||||
call ale#test#RestoreDirectory()
|
||||
|
||||
Execute(The lacheck handler should parse lines correctly):
|
||||
|
||||
call ale#test#SetFilename('command_callback/../test-files/tex/sample1.tex')
|
||||
call ale#test#SetFilename('../test-files/tex/sample1.tex')
|
||||
|
||||
AssertEqual
|
||||
\ [
|
||||
|
@ -24,7 +23,6 @@ Execute(The lacheck handler should parse lines correctly):
|
|||
\ ])
|
||||
|
||||
Execute(The lacheck handler should ignore errors from input files):
|
||||
|
||||
call ale#test#SetFilename('ale_test.tex')
|
||||
|
||||
AssertEqual
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
Before:
|
||||
call ale#assert#SetUpLinterTest('c', 'clangd')
|
||||
|
||||
Save &filetype
|
||||
let &filetype = 'c'
|
||||
|
||||
Save b:ale_c_clangd_options
|
||||
Save b:ale_c_build_dir
|
||||
Save b:ale_c_build_dir_names
|
||||
|
@ -48,4 +45,3 @@ Execute(The compile command database should be detected correctly):
|
|||
AssertLinter 'clangd', ale#Escape('clangd')
|
||||
\ . ' -compile-commands-dir='
|
||||
\ . ale#Escape(ale#path#Simplify(g:dir . '/../test-files/clangd/with_build_dir/unusual_build_dir_name'))
|
||||
|
|
@ -3,12 +3,6 @@ Before:
|
|||
let b:command_tail = ' -q --language=c --template=' . ale#Escape('{file}:{line}:{column}: {severity}:{inconclusive:inconclusive:} {message} [{id}]\\n{code}') . ' --enable=style -I' . ale#Escape(ale#path#Simplify(g:dir)) .' %t'
|
||||
|
||||
After:
|
||||
" Remove a test file we might open for some tests.
|
||||
if &buftype != 'nofile'
|
||||
:q!
|
||||
set buftype=nofile
|
||||
endif
|
||||
|
||||
unlet! b:command_tail
|
||||
call ale#assert#TearDownLinterTest()
|
||||
|
||||
|
@ -50,17 +44,3 @@ Execute(cppcheck for C should include file dir if compile_commands.json file is
|
|||
\ . ' --enable=style'
|
||||
\ . ' -I' . ale#Escape(ale#path#Simplify(g:dir . '/../test-files/cppcheck'))
|
||||
\ . ' %t'
|
||||
|
||||
Execute(cppcheck for C should ignore compile_commands.json file if buffer is modified):
|
||||
call ale#test#SetFilename('../test-files/cppcheck/one/foo.c')
|
||||
|
||||
set buftype=
|
||||
set modified
|
||||
|
||||
AssertLinterCwd ale#path#Simplify(g:dir . '/../test-files/cppcheck/one')
|
||||
AssertLinter 'cppcheck', ale#Escape('cppcheck')
|
||||
\ . ' -q --language=c'
|
||||
\ . ' --template=' . ale#Escape('{file}:{line}:{column}: {severity}:{inconclusive:inconclusive:} {message} [{id}]\\n{code}')
|
||||
\ . ' --enable=style'
|
||||
\ . ' -I' . ale#Escape(ale#path#Simplify(g:dir . '/../test-files/cppcheck/one'))
|
||||
\ . ' %t'
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue