summaryrefslogtreecommitdiff
path: root/src/testdir
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2010-08-12 21:50:51 +0200
committerBram Moolenaar <Bram@vim.org>2010-08-12 21:50:51 +0200
commit0be992e3476ff9df8b7d565042432970f56d7b7e (patch)
treec043d06bbf15669c9c9b1bcb297dcfd87b948a4f /src/testdir
parentd7b734a49364df78c2d246efa1bb6cd1e7595474 (diff)
downloadvim-0be992e3476ff9df8b7d565042432970f56d7b7e.zip
Improvements for :find completion.
Diffstat (limited to 'src/testdir')
-rw-r--r--src/testdir/test73.in95
-rw-r--r--src/testdir/test73.ok6
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