ale/test/test_disabling_ale.vader
w0rp bf55175b69
#4454 Clean up root test directory tests
Combine cases into smaller tests of tests and remove tests we no longer
need. Linter tests have been moved to where they should be.
2023-09-08 01:00:35 +01:00

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()