mirror of https://github.com/dense-analysis/ale
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()
|