75 lines
1.9 KiB
Plaintext
75 lines
1.9 KiB
Plaintext
Before:
|
|
Save &filetype
|
|
|
|
let g:queue_calls = []
|
|
|
|
unlet! b:ale_lint_on_enter
|
|
|
|
function! ale#Queue(...)
|
|
call add(g:queue_calls, a:000)
|
|
endfunction
|
|
|
|
After:
|
|
Restore
|
|
|
|
unlet! b:ale_lint_on_enter
|
|
unlet! g:queue_calls
|
|
|
|
" Reload the ALE code to load the real function again.
|
|
runtime autoload/ale.vim
|
|
|
|
unlet! b:ale_original_filetype
|
|
|
|
Execute(The original filetype should be set on BufEnter):
|
|
let &filetype = 'foobar'
|
|
|
|
call ale#events#EnterEvent(bufnr(''))
|
|
|
|
AssertEqual 'foobar', b:ale_original_filetype
|
|
|
|
let &filetype = 'bazboz'
|
|
|
|
call ale#events#EnterEvent(bufnr(''))
|
|
|
|
AssertEqual 'bazboz', b:ale_original_filetype
|
|
|
|
Execute(Linting should not be queued when the filetype is the same):
|
|
let b:ale_original_filetype = 'foobar'
|
|
let g:queue_calls = []
|
|
|
|
call ale#events#FileTypeEvent(bufnr(''), 'foobar')
|
|
|
|
AssertEqual [], g:queue_calls
|
|
|
|
Execute(Linting should be queued when the filetype changes):
|
|
let b:ale_original_filetype = 'foobar'
|
|
let g:queue_calls = []
|
|
|
|
call ale#events#FileTypeEvent(bufnr(''), 'bazboz')
|
|
|
|
AssertEqual [[300, 'lint_file', bufnr('')]], g:queue_calls
|
|
|
|
Execute(Linting shouldn't be done when the original filetype was blank and linting on enter is off):
|
|
let b:ale_lint_on_enter = 0
|
|
let b:ale_original_filetype = ''
|
|
|
|
call ale#events#FileTypeEvent(bufnr(''), 'bazboz')
|
|
|
|
AssertEqual [], g:queue_calls
|
|
|
|
Execute(Linting should be done when the original filetype was blank and linting on enter is on):
|
|
let b:ale_lint_on_enter = 1
|
|
let b:ale_original_filetype = ''
|
|
|
|
call ale#events#FileTypeEvent(bufnr(''), 'bazboz')
|
|
|
|
AssertEqual [[300, 'lint_file', bufnr('')]], g:queue_calls
|
|
|
|
Execute(The new filetype should become the "original" one if the original was blank and linting on enter is off):
|
|
let b:ale_lint_on_enter = 0
|
|
let b:ale_original_filetype = ''
|
|
|
|
call ale#events#FileTypeEvent(bufnr(''), 'bazboz')
|
|
|
|
AssertEqual 'bazboz', b:ale_original_filetype
|