b3f6f56745
Add test assertions that quickfix window closes when lists become empty again.
96 lines
2.8 KiB
Plaintext
96 lines
2.8 KiB
Plaintext
" Author: Yann Fery <yann@fery.me>
|
|
|
|
Before:
|
|
let g:loclist = [
|
|
\ {'lnum': 5, 'col': 5},
|
|
\ {'lnum': 5, 'col': 4},
|
|
\ {'lnum': 2, 'col': 10},
|
|
\ {'lnum': 3, 'col': 2},
|
|
\]
|
|
|
|
After:
|
|
" Close quickfix window after every execute block
|
|
lcl
|
|
ccl
|
|
unlet g:loclist
|
|
call setloclist(0, [])
|
|
call setqflist([])
|
|
" Reset options to their default values.
|
|
let g:ale_set_loclist = 1
|
|
let g:ale_set_quickfix = 0
|
|
let g:ale_open_list = 0
|
|
let g:ale_keep_list_window_open = 0
|
|
|
|
Execute(IsQuickfixOpen should return the right output):
|
|
AssertEqual 0, ale#list#IsQuickfixOpen()
|
|
call setloclist(0, g:loclist)
|
|
lopen
|
|
AssertEqual 1, ale#list#IsQuickfixOpen()
|
|
lcl
|
|
AssertEqual 0, ale#list#IsQuickfixOpen()
|
|
call setqflist(g:loclist)
|
|
copen
|
|
AssertEqual 1, ale#list#IsQuickfixOpen()
|
|
ccl
|
|
AssertEqual 0, ale#list#IsQuickfixOpen()
|
|
|
|
Execute(The quickfix window should not open by default for the loclist):
|
|
call ale#list#SetLists(bufnr('%'), g:loclist)
|
|
Assert !ale#list#IsQuickfixOpen()
|
|
|
|
Execute(The quickfix window should open for just the loclist):
|
|
let g:ale_open_list = 1
|
|
|
|
" It should not open for an empty list.
|
|
call ale#list#SetLists(bufnr('%'), [])
|
|
Assert !ale#list#IsQuickfixOpen()
|
|
|
|
" With a non-empty loclist, the window must open.
|
|
call ale#list#SetLists(bufnr('%'), g:loclist)
|
|
Assert ale#list#IsQuickfixOpen()
|
|
|
|
" Clear the list and it should close again.
|
|
call ale#list#SetLists(bufnr('%'), [])
|
|
Assert !ale#list#IsQuickfixOpen()
|
|
|
|
Execute(The quickfix window should stay open for just the loclist):
|
|
let g:ale_open_list = 1
|
|
let g:ale_keep_list_window_open = 1
|
|
|
|
" The window should stay open after even after it is made blank again.
|
|
call ale#list#SetLists(bufnr('%'), g:loclist)
|
|
call ale#list#SetLists(bufnr('%'), [])
|
|
Assert ale#list#IsQuickfixOpen()
|
|
|
|
Execute(The quickfix window should not open by default when quickfix is on):
|
|
let g:ale_set_quickfix = 1
|
|
|
|
call ale#list#SetLists(bufnr('%'), g:loclist)
|
|
Assert !ale#list#IsQuickfixOpen()
|
|
|
|
Execute(The quickfix window should open for the quickfix list):
|
|
let g:ale_set_quickfix = 1
|
|
let g:ale_open_list = 1
|
|
|
|
" It should not open for an empty list.
|
|
call ale#list#SetLists(bufnr('%'), [])
|
|
Assert !ale#list#IsQuickfixOpen()
|
|
|
|
" With a non-empty quickfix list, the window must open.
|
|
call ale#list#SetLists(bufnr('%'), g:loclist)
|
|
Assert ale#list#IsQuickfixOpen()
|
|
|
|
" Clear the list and it should close again.
|
|
call ale#list#SetLists(bufnr('%'), [])
|
|
Assert !ale#list#IsQuickfixOpen()
|
|
|
|
Execute(The quickfix window should stay open for the quickfix list):
|
|
let g:ale_set_quickfix = 1
|
|
let g:ale_open_list = 1
|
|
let g:ale_keep_list_window_open = 1
|
|
|
|
" The window should stay open after even after it is made blank again.
|
|
call ale#list#SetLists(bufnr('%'), g:loclist)
|
|
call ale#list#SetLists(bufnr('%'), [])
|
|
Assert ale#list#IsQuickfixOpen()
|