mirror of
https://github.com/dense-analysis/ale
synced 2025-02-15 11:46:53 +00:00
Combine cases into smaller tests of tests and remove tests we no longer need. Linter tests have been moved to where they should be.
106 lines
2.3 KiB
Plaintext
106 lines
2.3 KiB
Plaintext
Before:
|
|
Save g:ale_buffer_info
|
|
Save g:ale_enabled
|
|
Save b:ale_enabled
|
|
Save g:ale_maximum_file_size
|
|
Save b:ale_maximum_file_size
|
|
|
|
function! SetUpCursorData()
|
|
let g:ale_buffer_info = {
|
|
\ bufnr('%'): {
|
|
\ 'loclist': [
|
|
\ {
|
|
\ 'lnum': 2,
|
|
\ 'col': 10,
|
|
\ 'linter_name': 'testlinter',
|
|
\ 'type': 'W',
|
|
\ 'text': 'X'
|
|
\ },
|
|
\ ],
|
|
\ },
|
|
\}
|
|
|
|
call cursor(2, 16)
|
|
endfunction
|
|
|
|
function! TestCallback(buffer, output)
|
|
return []
|
|
endfunction
|
|
|
|
call ale#linter#Define('foobar', {
|
|
\ 'name': 'testlinter',
|
|
\ 'callback': 'TestCallback',
|
|
\ 'executable': 'echo',
|
|
\ 'command': 'true',
|
|
\})
|
|
|
|
function GetLastMessage()
|
|
redir => l:output
|
|
silent mess
|
|
redir END
|
|
|
|
" Filter out messages that could come from saving this test file.
|
|
let l:lines = filter(split(l:output, "\n"), 'v:val !~ ''written\|No line''')
|
|
|
|
return empty(l:lines) ? '' : l:lines[-1]
|
|
endfunction
|
|
|
|
echomsg ''
|
|
|
|
After:
|
|
Restore
|
|
call ale#linter#Reset()
|
|
delfunction TestCallback
|
|
delfunction GetLastMessage
|
|
delfunction SetUpCursorData
|
|
|
|
Given foobar (Some imaginary filetype):
|
|
foo
|
|
bar
|
|
baz
|
|
|
|
Execute(Linting shouldn't happen when ALE is disabled globally):
|
|
let g:ale_enabled = 0
|
|
let g:ale_buffer_info = {}
|
|
|
|
call ale#Queue(0)
|
|
|
|
AssertEqual {}, g:ale_buffer_info
|
|
call SetUpCursorData()
|
|
call ale#cursor#EchoCursorWarning()
|
|
AssertEqual '', GetLastMessage()
|
|
|
|
Execute(Linting shouldn't happen when ALE is disabled locally):
|
|
let b:ale_enabled = 0
|
|
let g:ale_buffer_info = {}
|
|
|
|
call ale#Queue(0)
|
|
|
|
AssertEqual {}, g:ale_buffer_info
|
|
call SetUpCursorData()
|
|
call ale#cursor#EchoCursorWarning()
|
|
AssertEqual '', GetLastMessage()
|
|
|
|
Execute(Linting shouldn't happen when the file is too large with global options):
|
|
let g:ale_maximum_file_size = 12
|
|
let g:ale_buffer_info = {}
|
|
|
|
call ale#Queue(0)
|
|
|
|
AssertEqual {}, g:ale_buffer_info
|
|
" We shouldn't show cursor warnings.
|
|
call SetUpCursorData()
|
|
call ale#cursor#EchoCursorWarning()
|
|
AssertEqual '', GetLastMessage()
|
|
|
|
Execute(Linting shouldn't happen when the file is too large with local options):
|
|
let b:ale_maximum_file_size = 12
|
|
let g:ale_buffer_info = {}
|
|
|
|
call ale#Queue(0)
|
|
|
|
AssertEqual {}, g:ale_buffer_info
|
|
call SetUpCursorData()
|
|
call ale#cursor#EchoCursorWarning()
|
|
AssertEqual '', GetLastMessage()
|