diff options
author | Bram Moolenaar <Bram@vim.org> | 2010-08-12 21:50:51 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2010-08-12 21:50:51 +0200 |
commit | 0be992e3476ff9df8b7d565042432970f56d7b7e (patch) | |
tree | c043d06bbf15669c9c9b1bcb297dcfd87b948a4f /src/testdir | |
parent | d7b734a49364df78c2d246efa1bb6cd1e7595474 (diff) | |
download | vim-0be992e3476ff9df8b7d565042432970f56d7b7e.zip |
Improvements for :find completion.
Diffstat (limited to 'src/testdir')
-rw-r--r-- | src/testdir/test73.in | 95 | ||||
-rw-r--r-- | src/testdir/test73.ok | 6 |
2 files changed, 81 insertions, 20 deletions
diff --git a/src/testdir/test73.in b/src/testdir/test73.in index cb2604e68..41865908f 100644 --- a/src/testdir/test73.in +++ b/src/testdir/test73.in @@ -6,7 +6,8 @@ STARTTEST :" delete the Xfind directory during cleanup :" :" This will cause a few errors, do it silently. -:set nocp viminfo+=nviminfo visualbell +:set visualbell +:set nocp viminfo+=nviminfo :" :function! DeleteDirectory(dir) : if has("win16") || has("win32") || has("win64") || has("dos16") || has("dos32") @@ -20,32 +21,33 @@ STARTTEST :call DeleteDirectory("Xfind") :new :let cwd=getcwd() -:!mkdir Xfind +:let test_out = cwd . '/test.out' +:silent !mkdir Xfind :cd Xfind :set path= :find -:w! ../test.out +:exec "w! " . test_out :close :new :set path=. :find -:w >>../test.out +:exec "w >>" . test_out :close :new :set path=.,, :find -:w >>../test.out +:exec "w >>" . test_out :close :new :set path=./** :find -:w >>../test.out +:exec "w >>" . test_out :close :new -:" We shouldn't find any file at this point, ../test.out must be empty. -:!mkdir in +:" We shouldn't find any file at this point, test.out must be empty. +:silent !mkdir in :cd in -:!mkdir path +:silent !mkdir path :exec "cd " . cwd :e Xfind/file.txt SHoly Grail:w @@ -57,40 +59,93 @@ SAnother Holy Grail:w SE.T.:w :set path=Xfind/** :find file -:w >> test.out +:exec "w >>" . test_out :find file -:w >>test.out +:exec "w >>" . test_out :find file -:w >>test.out +:exec "w >>" . test_out :" Rerun the previous three find completions, using fullpath in 'path' :exec "set path=" . cwd . "/Xfind/**" :find file -:w >> test.out +:exec "w >>" . test_out :find file -:w >>test.out +:exec "w >>" . test_out :find file -:w >>test.out +:exec "w >>" . test_out :" Same steps again, using relative and fullpath items that point to the same :" recursive location. :" This is to test that there are no duplicates in the completion list. :exec "set path+=Xfind/**" :find file -:w >> test.out +:exec "w >>" . test_out :find file -:w >>test.out +:exec "w >>" . test_out :find file -:w >>test.out +:exec "w >>" . test_out :find file :" Test find completion for directory of current buffer, which at this point :" is Xfind/in/file.txt. :set path=. :find st -:w >> test.out +:exec "w >>" . test_out :" Test find completion for empty path item ",," which is the current directory :cd Xfind :set path=,, :find f -:w >> ../test.out +:exec "w >>" . test_out +:" Test shortening of +:" +:" foo/x/bar/voyager.txt +:" foo/y/bar/voyager.txt +:" +:" When current directory is above foo/ they should be shortened to (in order +:" of appearance): +:" +:" x/bar/voyager.txt +:" y/bar/voyager.txt +:silent !mkdir foo +:cd foo +:silent !mkdir x +:silent !mkdir y +:cd x +:silent !mkdir bar +:cd .. +:cd y +:silent !mkdir bar +:cd .. +:cd .. +:" We should now be in the Xfind directory +:e foo/x/bar/voyager.txt +SVoyager 1:w +:e foo/y/bar/voyager.txt +SVoyager 2:w +:exec "set path=" . cwd . "/Xfind/**" +:find voyager +:exec "w >>" . test_out +:find voyager +:exec "w >>" . test_out +:" +:" When current directory is .../foo/y/bar they should be shortened to (in +:" order of appearance): +:" +:" ./voyager.txt +:" x/bar/voyager.txt +:cd foo +:cd y +:cd bar +:find voyager +:exec "w >> " . test_out +:find voyager +:exec "w >> " . test_out +:" Check the opposite too: +:cd .. +:cd .. +:cd x +:cd bar +:find voyager +:exec "w >> " . test_out +:find voyager +:exec "w >> " . test_out :cd .. :q :call DeleteDirectory("Xfind") diff --git a/src/testdir/test73.ok b/src/testdir/test73.ok index cd787f23a..a54e5f447 100644 --- a/src/testdir/test73.ok +++ b/src/testdir/test73.ok @@ -9,3 +9,9 @@ Jimmy Hoffa E.T. Another Holy Grail Holy Grail +Voyager 1 +Voyager 2 +Voyager 2 +Voyager 1 +Voyager 1 +Voyager 2 |