@@ -38,6 +38,7 @@ func s:setup_commands(cchar)
3838 command ! -nargs =* Xhelpgrep helpgrep <args>
3939 let g: Xgetlist = function (' getqflist' )
4040 let g: Xsetlist = function (' setqflist' )
41+ call setqflist ([], ' f' )
4142 else
4243 command ! -nargs =* - bang Xlist <mods> llist <bang> <args>
4344 command ! -nargs =* Xgetexpr <mods> lgetexpr <args>
@@ -69,13 +70,17 @@ func s:setup_commands(cchar)
6970 command ! -nargs =* Xhelpgrep lhelpgrep <args>
7071 let g: Xgetlist = function (' getloclist' , [0 ])
7172 let g: Xsetlist = function (' setloclist' , [0 ])
73+ call setloclist (0 , [], ' f' )
7274 endif
7375endfunc
7476
7577" Tests for the :clist and :llist commands
7678func XlistTests (cchar)
7779 call s: setup_commands (a: cchar )
7880
81+ if a: cchar == ' l'
82+ call assert_fails (' llist' , ' E776:' )
83+ endif
7984 " With an empty list, command should return error
8085 Xgetexpr []
8186 silent ! Xlist
@@ -146,6 +151,9 @@ endfunc
146151func XageTests (cchar)
147152 call s: setup_commands (a: cchar )
148153
154+ let list = [{' bufnr' : 1 , ' lnum' : 1 }]
155+ call g: Xsetlist (list )
156+
149157 " Jumping to a non existent list should return error
150158 silent ! Xolder 99
151159 call assert_true (v: errmsg == # ' E380: At bottom of quickfix stack' )
@@ -179,11 +187,7 @@ func XageTests(cchar)
179187endfunc
180188
181189func Test_cage ()
182- let list = [{' bufnr' : 1 , ' lnum' : 1 }]
183- call setqflist (list )
184190 call XageTests (' c' )
185-
186- call setloclist (0 , list )
187191 call XageTests (' l' )
188192endfunc
189193
@@ -192,6 +196,11 @@ endfunc
192196func XwindowTests (cchar)
193197 call s: setup_commands (a: cchar )
194198
199+ " Opening the location list window without any errors should fail
200+ if a: cchar == ' l'
201+ call assert_fails (' lopen' , ' E776:' )
202+ endif
203+
195204 " Create a list with no valid entries
196205 Xgetexpr [' non-error 1' , ' non-error 2' , ' non-error 3' ]
197206
@@ -232,6 +241,19 @@ func XwindowTests(cchar)
232241 " Calling cwindow should close the quickfix window with no valid errors
233242 Xwindow
234243 call assert_true (winnr (' $' ) == 1 )
244+
245+ if a: cchar == ' c'
246+ " Opening the quickfix window in multiple tab pages should reuse the
247+ " quickfix buffer
248+ Xgetexpr [' Xtestfile1:1:3:Line1' , ' Xtestfile2:2:2:Line2' ,
249+ \ ' Xtestfile3:3:1:Line3' ]
250+ Xopen
251+ let qfbufnum = bufnr (' %' )
252+ tabnew
253+ Xopen
254+ call assert_equal (qfbufnum, bufnr (' %' ))
255+ new | only | tabonly
256+ endif
235257endfunc
236258
237259func Test_cwindow ()
@@ -360,6 +382,13 @@ endfunc
360382func Xtest_browse (cchar)
361383 call s: setup_commands (a: cchar )
362384
385+ " Jumping to first or next location list entry without any error should
386+ " result in failure
387+ if a: cchar == ' l'
388+ call assert_fails (' lfirst' , ' E776:' )
389+ call assert_fails (' lnext' , ' E776:' )
390+ endif
391+
363392 call s: create_test_file (' Xqftestfile1' )
364393 call s: create_test_file (' Xqftestfile2' )
365394
@@ -1550,6 +1579,11 @@ endfunc
15501579func XbottomTests (cchar)
15511580 call s: setup_commands (a: cchar )
15521581
1582+ " Calling lbottom without any errors should fail
1583+ if a: cchar == ' l'
1584+ call assert_fails (' lbottom' , ' E776:' )
1585+ endif
1586+
15531587 call g: Xsetlist ([{' filename' : ' foo' , ' lnum' : 42 }])
15541588 Xopen
15551589 let wid = win_getid ()
@@ -1571,10 +1605,9 @@ endfunc
15711605func HistoryTest (cchar)
15721606 call s: setup_commands (a: cchar )
15731607
1574- call assert_fails (a: cchar . ' older 99' , ' E380:' )
15751608 " clear all lists after the first one, then replace the first one.
15761609 call g: Xsetlist ([])
1577- Xolder
1610+ call assert_fails ( ' Xolder 99 ' , ' E380: ' )
15781611 let entry = {' filename' : ' foo' , ' lnum' : 42 }
15791612 call g: Xsetlist ([entry], ' r' )
15801613 call g: Xsetlist ([entry, entry])
@@ -1617,6 +1650,7 @@ func Xproperty_tests(cchar)
16171650 call assert_fails (' call g:Xsetlist([], "a", [])' , ' E715:' )
16181651
16191652 " Set and get the title
1653+ call g: Xsetlist ([])
16201654 Xopen
16211655 wincmd p
16221656 call g: Xsetlist ([{' filename' :' foo' , ' lnum' :27 }])
0 commit comments