mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.1.2310: no proper test for directory changes in quickfix
Problem: No proper test for directory changes in quickfix.
Solution: Add a test that uses multiple directories. (Yegappan Lakshmanan,
closes vim/vim#5230)
d8a8c4ca08
This commit is contained in:
parent
7b89353985
commit
3ad6fb804f
@ -4049,4 +4049,46 @@ func Test_qfcmd_abort()
|
|||||||
augroup END
|
augroup END
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
" Test for using a file in one of the parent directories.
|
||||||
|
func Test_search_in_dirstack()
|
||||||
|
call mkdir('Xtestdir/a/b/c', 'p')
|
||||||
|
let save_cwd = getcwd()
|
||||||
|
call writefile(["X1_L1", "X1_L2"], 'Xtestdir/Xfile1')
|
||||||
|
call writefile(["X2_L1", "X2_L2"], 'Xtestdir/a/Xfile2')
|
||||||
|
call writefile(["X3_L1", "X3_L2"], 'Xtestdir/a/b/Xfile3')
|
||||||
|
call writefile(["X4_L1", "X4_L2"], 'Xtestdir/a/b/c/Xfile4')
|
||||||
|
|
||||||
|
let lines = "Entering dir Xtestdir\n" .
|
||||||
|
\ "Entering dir a\n" .
|
||||||
|
\ "Entering dir b\n" .
|
||||||
|
\ "Xfile2:2:X2_L2\n" .
|
||||||
|
\ "Leaving dir a\n" .
|
||||||
|
\ "Xfile1:2:X1_L2\n" .
|
||||||
|
\ "Xfile3:1:X3_L1\n" .
|
||||||
|
\ "Entering dir c\n" .
|
||||||
|
\ "Xfile4:2:X4_L2\n" .
|
||||||
|
\ "Leaving dir c\n" .
|
||||||
|
\ "Leaving dir Xtestdir\n"
|
||||||
|
set efm=%DEntering\ dir\ %f,%XLeaving\ dir\ %f,%f:%l:%m
|
||||||
|
cexpr lines
|
||||||
|
call assert_equal(11, getqflist({'size' : 0}).size)
|
||||||
|
call assert_equal(4, getqflist({'idx' : 0}).idx)
|
||||||
|
call assert_equal('X2_L2', getline('.'))
|
||||||
|
cnext
|
||||||
|
call assert_equal(6, getqflist({'idx' : 0}).idx)
|
||||||
|
call assert_equal('X1_L2', getline('.'))
|
||||||
|
cnext
|
||||||
|
call assert_equal(7, getqflist({'idx' : 0}).idx)
|
||||||
|
call assert_equal(1, line('$'))
|
||||||
|
call assert_equal('', getline(1))
|
||||||
|
cnext
|
||||||
|
call assert_equal(9, getqflist({'idx' : 0}).idx)
|
||||||
|
call assert_equal(1, line('$'))
|
||||||
|
call assert_equal('', getline(1))
|
||||||
|
|
||||||
|
set efm&
|
||||||
|
exe 'cd ' . save_cwd
|
||||||
|
call delete('Xtestdir', 'rf')
|
||||||
|
endfunc
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
Loading…
Reference in New Issue
Block a user