forked from aniani/vim
patch 8.0.1302: still too many old style tests
Problem: Still too many old style tests. Solution: Convert a few more tests to new style. (Yegappan Lakshmanan, closes #2326)
This commit is contained in:
parent
7cb769a69f
commit
209d3874c1
14
src/Makefile
14
src/Makefile
@ -2097,18 +2097,14 @@ run_message_test: $(MESSAGE_TEST_TARGET)
|
|||||||
# Run individual OLD style test.
|
# Run individual OLD style test.
|
||||||
# These do not depend on the executable, compile it when needed.
|
# These do not depend on the executable, compile it when needed.
|
||||||
test1 \
|
test1 \
|
||||||
test_close_count \
|
|
||||||
test_erasebackword \
|
|
||||||
test_eval \
|
test_eval \
|
||||||
test_fixeol \
|
|
||||||
test_listchars \
|
|
||||||
test_wordcount \
|
test_wordcount \
|
||||||
test3 test11 test14 test15 test17 \
|
test3 test11 test14 test15 test17 \
|
||||||
test29 test30 test36 test37 test39 \
|
test29 test30 test36 test37 test39 \
|
||||||
test42 test44 test48 test49 \
|
test42 test44 test48 test49 \
|
||||||
test50 test52 test59 \
|
test50 test52 test59 \
|
||||||
test64 test68 test69 \
|
test64 test69 \
|
||||||
test70 test72 test73 \
|
test70 test72 \
|
||||||
test85 test86 test87 test88 \
|
test85 test86 test87 test88 \
|
||||||
test94 test95 test99 test108:
|
test94 test95 test99 test108:
|
||||||
cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||||
@ -2133,6 +2129,7 @@ test_arglist \
|
|||||||
test_charsearch_utf8 \
|
test_charsearch_utf8 \
|
||||||
test_cindent \
|
test_cindent \
|
||||||
test_clientserver \
|
test_clientserver \
|
||||||
|
test_close_count \
|
||||||
test_cmdline \
|
test_cmdline \
|
||||||
test_command_count \
|
test_command_count \
|
||||||
test_comparators \
|
test_comparators \
|
||||||
@ -2145,6 +2142,7 @@ test_arglist \
|
|||||||
test_digraph \
|
test_digraph \
|
||||||
test_display \
|
test_display \
|
||||||
test_edit \
|
test_edit \
|
||||||
|
test_erasebackword \
|
||||||
test_escaped_glob \
|
test_escaped_glob \
|
||||||
test_ex_undo \
|
test_ex_undo \
|
||||||
test_ex_z \
|
test_ex_z \
|
||||||
@ -2164,7 +2162,9 @@ test_arglist \
|
|||||||
test_filetype \
|
test_filetype \
|
||||||
test_filter_cmd \
|
test_filter_cmd \
|
||||||
test_filter_map \
|
test_filter_map \
|
||||||
|
test_find_complete \
|
||||||
test_findfile \
|
test_findfile \
|
||||||
|
test_fixeol \
|
||||||
test_float_func \
|
test_float_func \
|
||||||
test_fnameescape \
|
test_fnameescape \
|
||||||
test_fnamemodify \
|
test_fnamemodify \
|
||||||
@ -2200,6 +2200,7 @@ test_arglist \
|
|||||||
test_let \
|
test_let \
|
||||||
test_lineending \
|
test_lineending \
|
||||||
test_lispwords \
|
test_lispwords \
|
||||||
|
test_listchars \
|
||||||
test_listdict \
|
test_listdict \
|
||||||
test_listlbr \
|
test_listlbr \
|
||||||
test_listlbr_utf8 \
|
test_listlbr_utf8 \
|
||||||
@ -2272,6 +2273,7 @@ test_arglist \
|
|||||||
test_tcl \
|
test_tcl \
|
||||||
test_terminal \
|
test_terminal \
|
||||||
test_terminal_fail \
|
test_terminal_fail \
|
||||||
|
test_textformat \
|
||||||
test_textobjects \
|
test_textobjects \
|
||||||
test_timers \
|
test_timers \
|
||||||
test_true_false \
|
test_true_false \
|
||||||
|
@ -24,20 +24,14 @@ SCRIPTS_ALL = \
|
|||||||
test44.out \
|
test44.out \
|
||||||
test48.out \
|
test48.out \
|
||||||
test64.out \
|
test64.out \
|
||||||
test68.out \
|
|
||||||
test69.out \
|
test69.out \
|
||||||
test70.out \
|
test70.out \
|
||||||
test73.out \
|
|
||||||
test88.out \
|
test88.out \
|
||||||
test94.out \
|
test94.out \
|
||||||
test95.out \
|
test95.out \
|
||||||
test99.out \
|
test99.out \
|
||||||
test108.out \
|
test108.out \
|
||||||
test_close_count.out \
|
|
||||||
test_erasebackword.out \
|
|
||||||
test_eval.out \
|
test_eval.out \
|
||||||
test_fixeol.out \
|
|
||||||
test_listchars.out \
|
|
||||||
test_wordcount.out
|
test_wordcount.out
|
||||||
|
|
||||||
|
|
||||||
@ -86,6 +80,7 @@ NEW_TESTS = test_arabic.res \
|
|||||||
test_charsearch.res \
|
test_charsearch.res \
|
||||||
test_cindent.res \
|
test_cindent.res \
|
||||||
test_clientserver.res \
|
test_clientserver.res \
|
||||||
|
test_close_count.res \
|
||||||
test_cmdline.res \
|
test_cmdline.res \
|
||||||
test_command_count.res \
|
test_command_count.res \
|
||||||
test_crypt.res \
|
test_crypt.res \
|
||||||
@ -95,9 +90,12 @@ NEW_TESTS = test_arabic.res \
|
|||||||
test_digraph.res \
|
test_digraph.res \
|
||||||
test_display.res \
|
test_display.res \
|
||||||
test_edit.res \
|
test_edit.res \
|
||||||
|
test_erasebackword.res \
|
||||||
test_exists.res \
|
test_exists.res \
|
||||||
test_farsi.res \
|
test_farsi.res \
|
||||||
test_file_size.res \
|
test_file_size.res \
|
||||||
|
test_find_complete.res \
|
||||||
|
test_fixeol.res \
|
||||||
test_fnameescape.res \
|
test_fnameescape.res \
|
||||||
test_fold.res \
|
test_fold.res \
|
||||||
test_getvar.res \
|
test_getvar.res \
|
||||||
@ -119,6 +117,7 @@ NEW_TESTS = test_arabic.res \
|
|||||||
test_langmap.res \
|
test_langmap.res \
|
||||||
test_let.res \
|
test_let.res \
|
||||||
test_lineending.res \
|
test_lineending.res \
|
||||||
|
test_listchars.res \
|
||||||
test_listdict.res \
|
test_listdict.res \
|
||||||
test_listlbr.res \
|
test_listlbr.res \
|
||||||
test_listlbr_utf8.res \
|
test_listlbr_utf8.res \
|
||||||
|
@ -63,8 +63,7 @@ win32: fixff nolog $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_WIN32) newtests
|
|||||||
fixff:
|
fixff:
|
||||||
-$(VIMPROG) -u dos.vim $(NO_INITS) "+argdo set ff=dos|upd" +q *.in *.ok
|
-$(VIMPROG) -u dos.vim $(NO_INITS) "+argdo set ff=dos|upd" +q *.in *.ok
|
||||||
-$(VIMPROG) -u dos.vim $(NO_INITS) "+argdo set ff=unix|upd" +q \
|
-$(VIMPROG) -u dos.vim $(NO_INITS) "+argdo set ff=unix|upd" +q \
|
||||||
dotest.in test_listchars.ok \
|
dotest.in test_wordcount.ok
|
||||||
test_wordcount.ok
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
-@if exist *.out $(DEL) *.out
|
-@if exist *.out $(DEL) *.out
|
||||||
|
@ -78,16 +78,12 @@ SCRIPT = test1.out test3.out \
|
|||||||
test29.out \
|
test29.out \
|
||||||
test30.out test36.out test37.out test39.out \
|
test30.out test36.out test37.out test39.out \
|
||||||
test42.out test44.out test48.out test49.out \
|
test42.out test44.out test48.out test49.out \
|
||||||
test64.out test68.out test69.out \
|
test64.out test69.out \
|
||||||
test72.out test77a.out test88.out \
|
test72.out test77a.out test88.out \
|
||||||
test94.out test95.out test99.out test108.out \
|
test94.out test95.out test99.out test108.out \
|
||||||
test_autocmd_option.out \
|
test_autocmd_option.out \
|
||||||
test_breakindent.out \
|
test_breakindent.out \
|
||||||
test_close_count.out \
|
|
||||||
test_erasebackword.out \
|
|
||||||
test_eval.out \
|
test_eval.out \
|
||||||
test_fixeol.out \
|
|
||||||
test_listchars.out \
|
|
||||||
test_listlbr.out \
|
test_listlbr.out \
|
||||||
test_listlbr_utf8.out \
|
test_listlbr_utf8.out \
|
||||||
test_utf8.out \
|
test_utf8.out \
|
||||||
@ -114,7 +110,7 @@ GUI_OPTION = -g
|
|||||||
.ENDIF
|
.ENDIF
|
||||||
|
|
||||||
.IFDEF WANT_UNIX
|
.IFDEF WANT_UNIX
|
||||||
SCRIPT_UNIX = test10.out test17.out test27.out test49.out test73.out
|
SCRIPT_UNIX = test10.out test17.out test27.out test49.out
|
||||||
.ENDIF
|
.ENDIF
|
||||||
|
|
||||||
.IFDEF WANT_WIN
|
.IFDEF WANT_WIN
|
||||||
|
@ -103,6 +103,10 @@ func RunTheTest(test)
|
|||||||
" buffers.
|
" buffers.
|
||||||
%bwipe!
|
%bwipe!
|
||||||
|
|
||||||
|
" The test may change the current directory. Save and restore the
|
||||||
|
" directory after executing the test.
|
||||||
|
let save_cwd = getcwd()
|
||||||
|
|
||||||
if exists("*SetUp")
|
if exists("*SetUp")
|
||||||
try
|
try
|
||||||
call SetUp()
|
call SetUp()
|
||||||
@ -157,6 +161,8 @@ func RunTheTest(test)
|
|||||||
break
|
break
|
||||||
endif
|
endif
|
||||||
endwhile
|
endwhile
|
||||||
|
|
||||||
|
exe 'cd ' . save_cwd
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func AfterTheTest()
|
func AfterTheTest()
|
||||||
|
@ -1,131 +0,0 @@
|
|||||||
Test for text formatting.
|
|
||||||
|
|
||||||
Results of test68:
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:so small.vim
|
|
||||||
/^{/+1
|
|
||||||
:set noai tw=2 fo=t
|
|
||||||
gRa b
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
/^{/+1
|
|
||||||
:set ai tw=2 fo=tw
|
|
||||||
gqgqjjllab
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
{
|
|
||||||
a b
|
|
||||||
|
|
||||||
a
|
|
||||||
}
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
/^{/+1
|
|
||||||
:set tw=3 fo=t
|
|
||||||
gqgqo
|
|
||||||
a
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
{
|
|
||||||
a
|
|
||||||
}
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
/^{/+1
|
|
||||||
:set tw=2 fo=tcq1 comments=:#
|
|
||||||
gqgqjgqgqo
|
|
||||||
a b
|
|
||||||
#a b
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
{
|
|
||||||
a b
|
|
||||||
#a b
|
|
||||||
}
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
/^{/+1
|
|
||||||
:set tw=5 fo=tcn comments=:#
|
|
||||||
A bjA b
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
{
|
|
||||||
1 a
|
|
||||||
# 1 a
|
|
||||||
}
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
/^{/+3
|
|
||||||
:set tw=5 fo=t2a si
|
|
||||||
i A_
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
x a
|
|
||||||
b
|
|
||||||
c
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
/^{/+1
|
|
||||||
:set tw=5 fo=qn comments=:#
|
|
||||||
gwap
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
{
|
|
||||||
# 1 a b
|
|
||||||
}
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
/^{/+1
|
|
||||||
:set tw=5 fo=q2 comments=:#
|
|
||||||
gwap
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
{
|
|
||||||
# x
|
|
||||||
# a b
|
|
||||||
}
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
/^{/+2
|
|
||||||
:set tw& fo=a
|
|
||||||
I^^
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
{
|
|
||||||
1aa
|
|
||||||
2bb
|
|
||||||
}
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
/mno pqr/
|
|
||||||
:setl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
|
|
||||||
A vwx yz
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
/* abc def ghi jkl
|
|
||||||
* mno pqr stu
|
|
||||||
*/
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
/^#/
|
|
||||||
:setl tw=12 fo=tqnc comments=:#
|
|
||||||
A foobar
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
# 1 xxxxx
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:g/^STARTTEST/.,/^ENDTEST/d
|
|
||||||
:1;/^Results/,$wq! test.out
|
|
||||||
ENDTEST
|
|
@ -1,77 +0,0 @@
|
|||||||
Results of test68:
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
a
|
|
||||||
b
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
a
|
|
||||||
b
|
|
||||||
|
|
||||||
a
|
|
||||||
b
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
a
|
|
||||||
|
|
||||||
|
|
||||||
a
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
a b
|
|
||||||
#a b
|
|
||||||
|
|
||||||
a b
|
|
||||||
#a b
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
1 a
|
|
||||||
b
|
|
||||||
# 1 a
|
|
||||||
# b
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
x a
|
|
||||||
b_
|
|
||||||
c
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
# 1 a
|
|
||||||
# b
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
# x a
|
|
||||||
# b
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
{ 1aa ^^2bb }
|
|
||||||
|
|
||||||
|
|
||||||
/* abc def ghi jkl
|
|
||||||
* mno pqr stu
|
|
||||||
* vwx yz
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
# 1 xxxxx
|
|
||||||
# foobar
|
|
||||||
|
|
@ -1,170 +0,0 @@
|
|||||||
Tests for find completion.
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:so small.vim
|
|
||||||
:set belloff=all
|
|
||||||
:" Do all test in a separate window to avoid E211 when we recursively
|
|
||||||
:" delete the Xfind directory during cleanup
|
|
||||||
:"
|
|
||||||
:" This will cause a few errors, do it silently.
|
|
||||||
:set visualbell
|
|
||||||
:set nocp viminfo+=nviminfo
|
|
||||||
:"
|
|
||||||
:" On windows a stale "Xfind" directory may exist, remove it so that
|
|
||||||
:" we start from a clean state.
|
|
||||||
:call delete("Xfind", "rf")
|
|
||||||
:new
|
|
||||||
:let cwd=getcwd()
|
|
||||||
:let test_out = cwd . '/test.out'
|
|
||||||
:call mkdir('Xfind')
|
|
||||||
:cd Xfind
|
|
||||||
:set path=
|
|
||||||
:find
|
|
||||||
:exec "w! " . test_out
|
|
||||||
:close
|
|
||||||
:new
|
|
||||||
:set path=.
|
|
||||||
:find
|
|
||||||
:exec "w >>" . test_out
|
|
||||||
:close
|
|
||||||
:new
|
|
||||||
:set path=.,,
|
|
||||||
:find
|
|
||||||
:exec "w >>" . test_out
|
|
||||||
:close
|
|
||||||
:new
|
|
||||||
:set path=./**
|
|
||||||
:find
|
|
||||||
:exec "w >>" . test_out
|
|
||||||
:close
|
|
||||||
:new
|
|
||||||
:" We shouldn't find any file at this point, test.out must be empty.
|
|
||||||
:call mkdir('in')
|
|
||||||
:cd in
|
|
||||||
:call mkdir('path')
|
|
||||||
:exec "cd " . cwd
|
|
||||||
:e Xfind/file.txt
|
|
||||||
SHoly Grail:w
|
|
||||||
:e Xfind/in/file.txt
|
|
||||||
SJimmy Hoffa:w
|
|
||||||
:e Xfind/in/stuff.txt
|
|
||||||
SAnother Holy Grail:w
|
|
||||||
:e Xfind/in/path/file.txt
|
|
||||||
SE.T.:w
|
|
||||||
:set path=Xfind/**
|
|
||||||
:find file
|
|
||||||
:exec "w >>" . test_out
|
|
||||||
:find file
|
|
||||||
:exec "w >>" . test_out
|
|
||||||
:find file
|
|
||||||
:exec "w >>" . test_out
|
|
||||||
:" Rerun the previous three find completions, using fullpath in 'path'
|
|
||||||
:exec "set path=" . cwd . "/Xfind/**"
|
|
||||||
:find file
|
|
||||||
:exec "w >>" . test_out
|
|
||||||
:find file
|
|
||||||
:exec "w >>" . test_out
|
|
||||||
:find file
|
|
||||||
: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
|
|
||||||
:exec "w >>" . test_out
|
|
||||||
:find file
|
|
||||||
:exec "w >>" . test_out
|
|
||||||
:find file
|
|
||||||
: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
|
|
||||||
:exec "w >>" . test_out
|
|
||||||
:" Test find completion for empty path item ",," which is the current directory
|
|
||||||
:cd Xfind
|
|
||||||
:set path=,,
|
|
||||||
:find f
|
|
||||||
: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
|
|
||||||
:call mkdir('foo')
|
|
||||||
:cd foo
|
|
||||||
:call mkdir('x')
|
|
||||||
:call mkdir('y')
|
|
||||||
:cd x
|
|
||||||
:call mkdir('bar')
|
|
||||||
:cd ..
|
|
||||||
:cd y
|
|
||||||
:call 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
|
|
||||||
:" Check for correct handling of shorten_fname()'s behavior on windows
|
|
||||||
:exec "cd " . cwd . "/Xfind/in"
|
|
||||||
:find file
|
|
||||||
:exec "w >>" . test_out
|
|
||||||
:" Test for relative to current buffer 'path' item
|
|
||||||
:exec "cd " . cwd . "/Xfind/"
|
|
||||||
:set path=./path
|
|
||||||
:" Open the file where Jimmy Hoffa is found
|
|
||||||
:e in/file.txt
|
|
||||||
:" Find the file containing 'E.T.' in the Xfind/in/path directory
|
|
||||||
:find file
|
|
||||||
:exec "w >>" . test_out
|
|
||||||
:"
|
|
||||||
:" Test that completion works when path=.,,
|
|
||||||
:"
|
|
||||||
:set path=.,,
|
|
||||||
:" Open Jimmy Hoffa file
|
|
||||||
:e in/file.txt
|
|
||||||
:exec "w >>" . test_out
|
|
||||||
:" Search for the file containing Holy Grail in same directory as in/path.txt
|
|
||||||
:find stu
|
|
||||||
:exec "w >>" . test_out
|
|
||||||
:q
|
|
||||||
:exec "cd " . cwd
|
|
||||||
:call delete("Xfind", "rf")
|
|
||||||
:qa!
|
|
||||||
ENDTEST
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
|||||||
Holy Grail
|
|
||||||
Jimmy Hoffa
|
|
||||||
E.T.
|
|
||||||
Holy Grail
|
|
||||||
Jimmy Hoffa
|
|
||||||
E.T.
|
|
||||||
Holy Grail
|
|
||||||
Jimmy Hoffa
|
|
||||||
E.T.
|
|
||||||
Another Holy Grail
|
|
||||||
Holy Grail
|
|
||||||
Voyager 1
|
|
||||||
Voyager 2
|
|
||||||
Voyager 2
|
|
||||||
Voyager 1
|
|
||||||
Voyager 1
|
|
||||||
Voyager 2
|
|
||||||
Jimmy Hoffa
|
|
||||||
E.T.
|
|
||||||
Jimmy Hoffa
|
|
||||||
Another Holy Grail
|
|
@ -1,154 +0,0 @@
|
|||||||
Tests for :[count]close! and :[count]hide vim: set ft=vim :
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:so small.vim
|
|
||||||
:set belloff=all
|
|
||||||
:let tests = []
|
|
||||||
:for i in range(5)
|
|
||||||
:new
|
|
||||||
:endfor
|
|
||||||
:4wincmd w
|
|
||||||
:close!
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:1close!
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:$close!
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:1wincmd w
|
|
||||||
:2close!
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:1wincmd w
|
|
||||||
:new
|
|
||||||
:new
|
|
||||||
:2wincmd w
|
|
||||||
:-1close!
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:2wincmd w
|
|
||||||
:+1close!
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:e! test.out
|
|
||||||
:call append(0, map(copy(tests), 'join(v:val, " ")'))
|
|
||||||
:w
|
|
||||||
:only!
|
|
||||||
:b1
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:let tests = []
|
|
||||||
:for i in range(5)
|
|
||||||
:new
|
|
||||||
:endfor
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:4wincmd w
|
|
||||||
:.hide
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:1hide
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:$hide
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:1wincmd w
|
|
||||||
:2hide
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:1wincmd w
|
|
||||||
:new
|
|
||||||
:new
|
|
||||||
:3wincmd w
|
|
||||||
:-hide
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:2wincmd w
|
|
||||||
:+hide
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:e! test.out
|
|
||||||
:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))
|
|
||||||
Go
|
|
||||||
:w
|
|
||||||
:only!
|
|
||||||
:b1
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:let tests = []
|
|
||||||
:set hidden
|
|
||||||
:for i in range(5)
|
|
||||||
:new
|
|
||||||
:endfor
|
|
||||||
:1wincmd w
|
|
||||||
:$ hide
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:$-1 close!
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:1wincmd w
|
|
||||||
:.+close!
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:e! test.out
|
|
||||||
:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))
|
|
||||||
Go
|
|
||||||
:w
|
|
||||||
:only!
|
|
||||||
:b1
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:let tests = []
|
|
||||||
:set hidden
|
|
||||||
:for i in range(5)
|
|
||||||
:new
|
|
||||||
:endfor
|
|
||||||
:4wincmd w
|
|
||||||
c
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
1c
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
9c
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:1wincmd w
|
|
||||||
2c
|
|
||||||
:let buffers = []
|
|
||||||
:windo call add(buffers, bufnr('%'))
|
|
||||||
:call add(tests, buffers)
|
|
||||||
:only!
|
|
||||||
:e! test.out
|
|
||||||
:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))
|
|
||||||
:w
|
|
||||||
:qa!
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
|||||||
6 5 4 2 1
|
|
||||||
5 4 2 1
|
|
||||||
5 4 2
|
|
||||||
5 2
|
|
||||||
7 5 2
|
|
||||||
7 5
|
|
||||||
|
|
||||||
13 12 11 10 9 1
|
|
||||||
13 12 11 9 1
|
|
||||||
12 11 9 1
|
|
||||||
12 11 9
|
|
||||||
12 9
|
|
||||||
15 12 9
|
|
||||||
15 12
|
|
||||||
|
|
||||||
20 19 18 17 16
|
|
||||||
20 19 18 16
|
|
||||||
20 18 16
|
|
||||||
|
|
||||||
25 24 23 21 1
|
|
||||||
24 23 21 1
|
|
||||||
24 23 21
|
|
||||||
24 21
|
|
174
src/testdir/test_close_count.vim
Normal file
174
src/testdir/test_close_count.vim
Normal file
@ -0,0 +1,174 @@
|
|||||||
|
|
||||||
|
" Tests for :[count]close! command
|
||||||
|
func Test_close_count()
|
||||||
|
enew! | only
|
||||||
|
|
||||||
|
let wids = [win_getid()]
|
||||||
|
for i in range(5)
|
||||||
|
new
|
||||||
|
call add(wids, win_getid())
|
||||||
|
endfor
|
||||||
|
|
||||||
|
4wincmd w
|
||||||
|
close!
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[5], wids[4], wids[3], wids[1], wids[0]], ids)
|
||||||
|
|
||||||
|
1close!
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[4], wids[3], wids[1], wids[0]], ids)
|
||||||
|
|
||||||
|
$close!
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[4], wids[3], wids[1]], ids)
|
||||||
|
|
||||||
|
1wincmd w
|
||||||
|
2close!
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[4], wids[1]], ids)
|
||||||
|
|
||||||
|
1wincmd w
|
||||||
|
new
|
||||||
|
call add(wids, win_getid())
|
||||||
|
new
|
||||||
|
call add(wids, win_getid())
|
||||||
|
2wincmd w
|
||||||
|
-1close!
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[6], wids[4], wids[1]], ids)
|
||||||
|
|
||||||
|
2wincmd w
|
||||||
|
+1close!
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[6], wids[4]], ids)
|
||||||
|
|
||||||
|
only!
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Tests for :[count]hide command
|
||||||
|
func Test_hide_count()
|
||||||
|
enew! | only
|
||||||
|
|
||||||
|
let wids = [win_getid()]
|
||||||
|
for i in range(5)
|
||||||
|
new
|
||||||
|
call add(wids, win_getid())
|
||||||
|
endfor
|
||||||
|
|
||||||
|
4wincmd w
|
||||||
|
.hide
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[5], wids[4], wids[3], wids[1], wids[0]], ids)
|
||||||
|
|
||||||
|
1hide
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[4], wids[3], wids[1], wids[0]], ids)
|
||||||
|
|
||||||
|
$hide
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[4], wids[3], wids[1]], ids)
|
||||||
|
|
||||||
|
1wincmd w
|
||||||
|
2hide
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[4], wids[1]], ids)
|
||||||
|
|
||||||
|
1wincmd w
|
||||||
|
new
|
||||||
|
call add(wids, win_getid())
|
||||||
|
new
|
||||||
|
call add(wids, win_getid())
|
||||||
|
3wincmd w
|
||||||
|
-hide
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[7], wids[4], wids[1]], ids)
|
||||||
|
|
||||||
|
2wincmd w
|
||||||
|
+hide
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[7], wids[4]], ids)
|
||||||
|
|
||||||
|
only!
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Tests for :[count]close! command with 'hidden'
|
||||||
|
func Test_hidden_close_count()
|
||||||
|
enew! | only
|
||||||
|
|
||||||
|
let wids = [win_getid()]
|
||||||
|
for i in range(5)
|
||||||
|
new
|
||||||
|
call add(wids, win_getid())
|
||||||
|
endfor
|
||||||
|
|
||||||
|
set hidden
|
||||||
|
|
||||||
|
$ hide
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[5], wids[4], wids[3], wids[2], wids[1]], ids)
|
||||||
|
|
||||||
|
$-1 close!
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[5], wids[4], wids[3], wids[1]], ids)
|
||||||
|
|
||||||
|
1wincmd w
|
||||||
|
.+close!
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[5], wids[3], wids[1]], ids)
|
||||||
|
|
||||||
|
set nohidden
|
||||||
|
only!
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Tests for 'CTRL-W c' command to close windows.
|
||||||
|
func Test_winclose_command()
|
||||||
|
enew! | only
|
||||||
|
|
||||||
|
let wids = [win_getid()]
|
||||||
|
for i in range(5)
|
||||||
|
new
|
||||||
|
call add(wids, win_getid())
|
||||||
|
endfor
|
||||||
|
|
||||||
|
set hidden
|
||||||
|
|
||||||
|
4wincmd w
|
||||||
|
exe "normal \<C-W>c"
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[5], wids[4], wids[3], wids[1], wids[0]], ids)
|
||||||
|
|
||||||
|
exe "normal 1\<C-W>c"
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[4], wids[3], wids[1], wids[0]], ids)
|
||||||
|
|
||||||
|
exe "normal 9\<C-W>c"
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[4], wids[3], wids[1]], ids)
|
||||||
|
|
||||||
|
1wincmd w
|
||||||
|
exe "normal 2\<C-W>c"
|
||||||
|
let ids = []
|
||||||
|
windo call add(ids, win_getid())
|
||||||
|
call assert_equal([wids[4], wids[1]], ids)
|
||||||
|
|
||||||
|
set nohidden
|
||||||
|
only!
|
||||||
|
endfunc
|
@ -1,20 +0,0 @@
|
|||||||
Test for erasing backword
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:so small.vim
|
|
||||||
:set belloff=all
|
|
||||||
:so mbyte.vim
|
|
||||||
:set encoding=utf-8
|
|
||||||
G
|
|
||||||
o wwwこんにちわ世界ワールドvim
|
|
||||||
o wwwこんにちわ世界ワールドvim
|
|
||||||
o wwwこんにちわ世界ワールドvim
|
|
||||||
o wwwこんにちわ世界ワールドvim
|
|
||||||
o wwwこんにちわ世界ワールドvim
|
|
||||||
o wwwこんにちわ世界ワールドvim
|
|
||||||
:/^test/,$w! test.out
|
|
||||||
:qa!
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
test starts here:
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
|||||||
test starts here:
|
|
||||||
|
|
||||||
wwwこんにちわ世界ワールド
|
|
||||||
wwwこんにちわ世界
|
|
||||||
wwwこんにちわ
|
|
||||||
www
|
|
||||||
|
|
||||||
|
|
25
src/testdir/test_erasebackword.vim
Normal file
25
src/testdir/test_erasebackword.vim
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
func Test_erasebackword()
|
||||||
|
if !has('multi_byte')
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
set encoding=utf-8
|
||||||
|
enew
|
||||||
|
|
||||||
|
exe "normal o wwwこんにちわ世界ワールドvim \<C-W>"
|
||||||
|
call assert_equal(' wwwこんにちわ世界ワールド', getline('.'))
|
||||||
|
exe "normal o wwwこんにちわ世界ワールドvim \<C-W>\<C-W>"
|
||||||
|
call assert_equal(' wwwこんにちわ世界', getline('.'))
|
||||||
|
exe "normal o wwwこんにちわ世界ワールドvim \<C-W>\<C-W>\<C-W>"
|
||||||
|
call assert_equal(' wwwこんにちわ', getline('.'))
|
||||||
|
exe "normal o wwwこんにちわ世界ワールドvim \<C-W>\<C-W>\<C-W>\<C-W>"
|
||||||
|
call assert_equal(' www', getline('.'))
|
||||||
|
exe "normal o wwwこんにちわ世界ワールドvim \<C-W>\<C-W>\<C-W>\<C-W>\<C-W>"
|
||||||
|
call assert_equal(' ', getline('.'))
|
||||||
|
exe "normal o wwwこんにちわ世界ワールドvim \<C-W>\<C-W>\<C-W>\<C-W>\<C-W>\<C-W>"
|
||||||
|
call assert_equal('', getline('.'))
|
||||||
|
|
||||||
|
enew!
|
||||||
|
set encoding&
|
||||||
|
endfunc
|
157
src/testdir/test_find_complete.vim
Normal file
157
src/testdir/test_find_complete.vim
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
" Tests for the 'find' command completion.
|
||||||
|
|
||||||
|
" Do all the tests in a separate window to avoid E211 when we recursively
|
||||||
|
" delete the Xfind directory during cleanup
|
||||||
|
func Test_find_complete()
|
||||||
|
set belloff=all
|
||||||
|
|
||||||
|
" On windows a stale "Xfind" directory may exist, remove it so that
|
||||||
|
" we start from a clean state.
|
||||||
|
call delete("Xfind", "rf")
|
||||||
|
let cwd = getcwd()
|
||||||
|
let test_out = cwd . '/test.out'
|
||||||
|
call mkdir('Xfind')
|
||||||
|
cd Xfind
|
||||||
|
|
||||||
|
new
|
||||||
|
set path=
|
||||||
|
call assert_fails('call feedkeys(":find\t\n", "xt")', 'E345:')
|
||||||
|
close
|
||||||
|
|
||||||
|
new
|
||||||
|
set path=.
|
||||||
|
call assert_fails('call feedkeys(":find\t\n", "xt")', 'E32:')
|
||||||
|
close
|
||||||
|
|
||||||
|
new
|
||||||
|
set path=.,,
|
||||||
|
call assert_fails('call feedkeys(":find\t\n", "xt")', 'E32:')
|
||||||
|
close
|
||||||
|
|
||||||
|
new
|
||||||
|
set path=./**
|
||||||
|
call assert_fails('call feedkeys(":find\t\n", "xt")', 'E32:')
|
||||||
|
close
|
||||||
|
|
||||||
|
" We shouldn't find any file till this point
|
||||||
|
|
||||||
|
call mkdir('in/path', 'p')
|
||||||
|
exe 'cd ' . cwd
|
||||||
|
call writefile(['Holy Grail'], 'Xfind/file.txt')
|
||||||
|
call writefile(['Jimmy Hoffa'], 'Xfind/in/file.txt')
|
||||||
|
call writefile(['Another Holy Grail'], 'Xfind/in/stuff.txt')
|
||||||
|
call writefile(['E.T.'], 'Xfind/in/path/file.txt')
|
||||||
|
|
||||||
|
new
|
||||||
|
set path=Xfind/**
|
||||||
|
call feedkeys(":find file\t\n", "xt")
|
||||||
|
call assert_equal('Holy Grail', getline(1))
|
||||||
|
call feedkeys(":find file\t\t\n", "xt")
|
||||||
|
call assert_equal('Jimmy Hoffa', getline(1))
|
||||||
|
call feedkeys(":find file\t\t\t\n", "xt")
|
||||||
|
call assert_equal('E.T.', getline(1))
|
||||||
|
|
||||||
|
" Rerun the previous three find completions, using fullpath in 'path'
|
||||||
|
exec "set path=" . cwd . "/Xfind/**"
|
||||||
|
|
||||||
|
call feedkeys(":find file\t\n", "xt")
|
||||||
|
call assert_equal('Holy Grail', getline(1))
|
||||||
|
call feedkeys(":find file\t\t\n", "xt")
|
||||||
|
call assert_equal('Jimmy Hoffa', getline(1))
|
||||||
|
call feedkeys(":find file\t\t\t\n", "xt")
|
||||||
|
call assert_equal('E.T.', getline(1))
|
||||||
|
|
||||||
|
" 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.
|
||||||
|
set path+=Xfind/**
|
||||||
|
call feedkeys(":find file\t\n", "xt")
|
||||||
|
call assert_equal('Holy Grail', getline(1))
|
||||||
|
call feedkeys(":find file\t\t\n", "xt")
|
||||||
|
call assert_equal('Jimmy Hoffa', getline(1))
|
||||||
|
call feedkeys(":find file\t\t\t\n", "xt")
|
||||||
|
call assert_equal('E.T.', getline(1))
|
||||||
|
call feedkeys(":find file\t\t\n", "xt")
|
||||||
|
|
||||||
|
" Test find completion for directory of current buffer, which at this point
|
||||||
|
" is Xfind/in/file.txt.
|
||||||
|
set path=.
|
||||||
|
call feedkeys(":find st\t\n", "xt")
|
||||||
|
call assert_equal('Another Holy Grail', getline(1))
|
||||||
|
|
||||||
|
" Test find completion for empty path item ",," which is the current
|
||||||
|
" directory
|
||||||
|
cd Xfind
|
||||||
|
set path=,,
|
||||||
|
call feedkeys(":find f\t\n", "xt")
|
||||||
|
call assert_equal('Holy Grail', getline(1))
|
||||||
|
|
||||||
|
" 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
|
||||||
|
call mkdir('foo/x/bar', 'p')
|
||||||
|
call mkdir('foo/y/bar', 'p')
|
||||||
|
call writefile(['Voyager 1'], 'foo/x/bar/voyager.txt')
|
||||||
|
call writefile(['Voyager 2'], 'foo/y/bar/voyager.txt')
|
||||||
|
|
||||||
|
exec "set path=" . cwd . "/Xfind/**"
|
||||||
|
call feedkeys(":find voyager\t\n", "xt")
|
||||||
|
call assert_equal('Voyager 1', getline(1))
|
||||||
|
call feedkeys(":find voyager\t\t\n", "xt")
|
||||||
|
call assert_equal('Voyager 2', getline(1))
|
||||||
|
|
||||||
|
"
|
||||||
|
" When current directory is .../foo/y/bar they should be shortened to (in
|
||||||
|
" order of appearance):
|
||||||
|
"
|
||||||
|
" ./voyager.txt
|
||||||
|
" x/bar/voyager.txt
|
||||||
|
cd foo/y/bar
|
||||||
|
call feedkeys(":find voyager\t\n", "xt")
|
||||||
|
call assert_equal('Voyager 2', getline(1))
|
||||||
|
call feedkeys(":find voyager\t\t\n", "xt")
|
||||||
|
call assert_equal('Voyager 1', getline(1))
|
||||||
|
|
||||||
|
" Check the opposite too:
|
||||||
|
cd ../../x/bar
|
||||||
|
call feedkeys(":find voyager\t\n", "xt")
|
||||||
|
call assert_equal('Voyager 1', getline(1))
|
||||||
|
call feedkeys(":find voyager\t\t\n", "xt")
|
||||||
|
call assert_equal('Voyager 2', getline(1))
|
||||||
|
|
||||||
|
" Check for correct handling of shorten_fname()'s behavior on windows
|
||||||
|
exec "cd " . cwd . "/Xfind/in"
|
||||||
|
call feedkeys(":find file\t\n", "xt")
|
||||||
|
call assert_equal('Jimmy Hoffa', getline(1))
|
||||||
|
|
||||||
|
" Test for relative to current buffer 'path' item
|
||||||
|
exec "cd " . cwd . "/Xfind/"
|
||||||
|
set path=./path
|
||||||
|
" Open the file where Jimmy Hoffa is found
|
||||||
|
e in/file.txt
|
||||||
|
" Find the file containing 'E.T.' in the Xfind/in/path directory
|
||||||
|
call feedkeys(":find file\t\n", "xt")
|
||||||
|
call assert_equal('E.T.', getline(1))
|
||||||
|
|
||||||
|
" Test that completion works when path=.,,
|
||||||
|
set path=.,,
|
||||||
|
" Open Jimmy Hoffa file
|
||||||
|
e in/file.txt
|
||||||
|
call assert_equal('Jimmy Hoffa', getline(1))
|
||||||
|
|
||||||
|
" Search for the file containing Holy Grail in same directory as in/path.txt
|
||||||
|
call feedkeys(":find stu\t\n", "xt")
|
||||||
|
call assert_equal('Another Holy Grail', getline(1))
|
||||||
|
|
||||||
|
enew | only
|
||||||
|
exe 'cd ' . cwd
|
||||||
|
call delete('Xfind', 'rf')
|
||||||
|
set path&
|
||||||
|
endfunc
|
@ -1,40 +0,0 @@
|
|||||||
Tests for 'fixeol' vim: set ft=vim :
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:" first write two test files – with and without trailing EOL
|
|
||||||
:" use Unix fileformat for consistency
|
|
||||||
:set ff=unix
|
|
||||||
:enew!
|
|
||||||
awith eol:w! XXEol
|
|
||||||
:enew!
|
|
||||||
:set noeol nofixeol
|
|
||||||
awithout eol:w! XXNoEol
|
|
||||||
:set eol fixeol
|
|
||||||
:bwipe XXEol XXNoEol
|
|
||||||
:"
|
|
||||||
:" try editing files with 'fixeol' disabled
|
|
||||||
:e! XXEol
|
|
||||||
ostays eol:set nofixeol
|
|
||||||
:w! XXTestEol
|
|
||||||
:e! XXNoEol
|
|
||||||
ostays without:set nofixeol
|
|
||||||
:w! XXTestNoEol
|
|
||||||
:bwipe XXEol XXNoEol XXTestEol XXTestNoEol
|
|
||||||
:set fixeol
|
|
||||||
:"
|
|
||||||
:" Append "END" to each file so that we can see what the last written char was.
|
|
||||||
ggdGaEND:w >>XXEol
|
|
||||||
:w >>XXNoEol
|
|
||||||
:w >>XXTestEol
|
|
||||||
:w >>XXTestNoEol
|
|
||||||
:"
|
|
||||||
:" Concatenate the results
|
|
||||||
:e! test.out
|
|
||||||
a0:$r XXEol
|
|
||||||
:$r XXNoEol
|
|
||||||
Go1:$r XXTestEol
|
|
||||||
:$r XXTestNoEol
|
|
||||||
:w
|
|
||||||
:qa!
|
|
||||||
ENDTEST
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
|||||||
0
|
|
||||||
with eol
|
|
||||||
END
|
|
||||||
without eolEND
|
|
||||||
1
|
|
||||||
with eol
|
|
||||||
stays eol
|
|
||||||
END
|
|
||||||
without eol
|
|
||||||
stays withoutEND
|
|
48
src/testdir/test_fixeol.vim
Normal file
48
src/testdir/test_fixeol.vim
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
" Tests for 'fixeol' and 'eol'
|
||||||
|
func Test_fixeol()
|
||||||
|
" first write two test files – with and without trailing EOL
|
||||||
|
" use Unix fileformat for consistency
|
||||||
|
set ff=unix
|
||||||
|
enew!
|
||||||
|
call setline('.', 'with eol')
|
||||||
|
w! XXEol
|
||||||
|
enew!
|
||||||
|
set noeol nofixeol
|
||||||
|
call setline('.', 'without eol')
|
||||||
|
w! XXNoEol
|
||||||
|
set eol fixeol
|
||||||
|
bwipe XXEol XXNoEol
|
||||||
|
|
||||||
|
" try editing files with 'fixeol' disabled
|
||||||
|
e! XXEol
|
||||||
|
normal ostays eol
|
||||||
|
set nofixeol
|
||||||
|
w! XXTestEol
|
||||||
|
e! XXNoEol
|
||||||
|
normal ostays without
|
||||||
|
set nofixeol
|
||||||
|
w! XXTestNoEol
|
||||||
|
bwipe! XXEol XXNoEol XXTestEol XXTestNoEol
|
||||||
|
set fixeol
|
||||||
|
|
||||||
|
" Append "END" to each file so that we can see what the last written char
|
||||||
|
" was.
|
||||||
|
normal ggdGaEND
|
||||||
|
w >>XXEol
|
||||||
|
w >>XXNoEol
|
||||||
|
w >>XXTestEol
|
||||||
|
w >>XXTestNoEol
|
||||||
|
|
||||||
|
call assert_equal(['with eol', 'END'], readfile('XXEol'))
|
||||||
|
call assert_equal(['without eolEND'], readfile('XXNoEol'))
|
||||||
|
call assert_equal(['with eol', 'stays eol', 'END'], readfile('XXTestEol'))
|
||||||
|
call assert_equal(['without eol', 'stays withoutEND'],
|
||||||
|
\ readfile('XXTestNoEol'))
|
||||||
|
|
||||||
|
call delete('XXEol')
|
||||||
|
call delete('XXNoEol')
|
||||||
|
call delete('XXTestEol')
|
||||||
|
call delete('XXTestNoEol')
|
||||||
|
set ff& fixeol& eol&
|
||||||
|
enew!
|
||||||
|
endfunc
|
@ -1,54 +0,0 @@
|
|||||||
Tests for 'listchars' display with 'list' and :list
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:so small.vim
|
|
||||||
:set ff=unix
|
|
||||||
:let g:lines = []
|
|
||||||
:function GetScreenCharsForLine(lnum)
|
|
||||||
: return join(map(range(1, virtcol('$')), 'nr2char(screenchar(a:lnum, v:val))'), '')
|
|
||||||
:endfunction
|
|
||||||
:nnoremap <expr> GG ":call add(g:lines, GetScreenCharsForLine(".screenrow()."))\<CR>"
|
|
||||||
:set listchars+=tab:>-,space:.,trail:<
|
|
||||||
:set list
|
|
||||||
:
|
|
||||||
/^start:/
|
|
||||||
:normal! jzt
|
|
||||||
GG
|
|
||||||
GG
|
|
||||||
GG
|
|
||||||
GG
|
|
||||||
GGH:
|
|
||||||
:set listchars-=trail:<
|
|
||||||
GG
|
|
||||||
GG
|
|
||||||
GG
|
|
||||||
GG
|
|
||||||
GG:
|
|
||||||
:put =g:lines
|
|
||||||
:'[,']w! test.out
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
start:
|
|
||||||
aa
|
|
||||||
bb
|
|
||||||
cccc
|
|
||||||
dd ee
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:set listchars+=trail:<
|
|
||||||
:set nolist
|
|
||||||
:
|
|
||||||
/^start:/
|
|
||||||
:redir! >> test.out
|
|
||||||
:+1,$list
|
|
||||||
:redir END
|
|
||||||
:q!
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
start:
|
|
||||||
fff
|
|
||||||
gg
|
|
||||||
h
|
|
||||||
iii
|
|
@ -1,16 +0,0 @@
|
|||||||
>-------aa>-----$
|
|
||||||
..bb>---<<$
|
|
||||||
...cccc><$
|
|
||||||
dd........ee<<>-$
|
|
||||||
<$
|
|
||||||
>-------aa>-----$
|
|
||||||
..bb>---..$
|
|
||||||
...cccc>.$
|
|
||||||
dd........ee..>-$
|
|
||||||
.$
|
|
||||||
|
|
||||||
|
|
||||||
..fff>--<<$
|
|
||||||
>-------gg>-----$
|
|
||||||
.....h>-$
|
|
||||||
iii<<<<><<$
|
|
63
src/testdir/test_listchars.vim
Normal file
63
src/testdir/test_listchars.vim
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
" Tests for 'listchars' display with 'list' and :list
|
||||||
|
|
||||||
|
source view_util.vim
|
||||||
|
|
||||||
|
func Test_listchars()
|
||||||
|
enew!
|
||||||
|
set ff=unix
|
||||||
|
set list
|
||||||
|
|
||||||
|
set listchars+=tab:>-,space:.,trail:<
|
||||||
|
call append(0, [
|
||||||
|
\ ' aa ',
|
||||||
|
\ ' bb ',
|
||||||
|
\ ' cccc ',
|
||||||
|
\ 'dd ee ',
|
||||||
|
\ ' '
|
||||||
|
\ ])
|
||||||
|
let expected = [
|
||||||
|
\ '>-------aa>-----$',
|
||||||
|
\ '..bb>---<<$',
|
||||||
|
\ '...cccc><$',
|
||||||
|
\ 'dd........ee<<>-$',
|
||||||
|
\ '<$'
|
||||||
|
\ ]
|
||||||
|
redraw!
|
||||||
|
for i in range(1, 5)
|
||||||
|
call cursor(i, 1)
|
||||||
|
call assert_equal([expected[i - 1]], ScreenLines(i, virtcol('$')))
|
||||||
|
endfor
|
||||||
|
|
||||||
|
set listchars-=trail:<
|
||||||
|
let expected = [
|
||||||
|
\ '>-------aa>-----$',
|
||||||
|
\ '..bb>---..$',
|
||||||
|
\ '...cccc>.$',
|
||||||
|
\ 'dd........ee..>-$',
|
||||||
|
\ '.$'
|
||||||
|
\ ]
|
||||||
|
redraw!
|
||||||
|
for i in range(1, 5)
|
||||||
|
call cursor(i, 1)
|
||||||
|
call assert_equal([expected[i - 1]], ScreenLines(i, virtcol('$')))
|
||||||
|
endfor
|
||||||
|
|
||||||
|
set listchars+=trail:<
|
||||||
|
set nolist
|
||||||
|
normal ggdG
|
||||||
|
call append(0, [
|
||||||
|
\ ' fff ',
|
||||||
|
\ ' gg ',
|
||||||
|
\ ' h ',
|
||||||
|
\ 'iii ',
|
||||||
|
\ ])
|
||||||
|
let l = split(execute("%list"), "\n")
|
||||||
|
call assert_equal([
|
||||||
|
\ '..fff>--<<$',
|
||||||
|
\ '>-------gg>-----$',
|
||||||
|
\ '.....h>-$',
|
||||||
|
\ 'iii<<<<><<$', '$'], l)
|
||||||
|
|
||||||
|
enew!
|
||||||
|
set listchars& ff&
|
||||||
|
endfunc
|
168
src/testdir/test_textformat.vim
Normal file
168
src/testdir/test_textformat.vim
Normal file
@ -0,0 +1,168 @@
|
|||||||
|
" Tests for the various 'formatoptions' settings
|
||||||
|
func Test_text_format()
|
||||||
|
enew!
|
||||||
|
|
||||||
|
setl noai tw=2 fo=t
|
||||||
|
call append('$', [
|
||||||
|
\ '{',
|
||||||
|
\ ' ',
|
||||||
|
\ '',
|
||||||
|
\ '}'])
|
||||||
|
exe "normal /^{/+1\n0"
|
||||||
|
normal gRa b
|
||||||
|
let lnum = line('.')
|
||||||
|
call assert_equal([
|
||||||
|
\ 'a',
|
||||||
|
\ 'b'], getline(lnum - 1, lnum))
|
||||||
|
|
||||||
|
normal ggdG
|
||||||
|
setl ai tw=2 fo=tw
|
||||||
|
call append('$', [
|
||||||
|
\ '{',
|
||||||
|
\ 'a b ',
|
||||||
|
\ '',
|
||||||
|
\ 'a ',
|
||||||
|
\ '}'])
|
||||||
|
exe "normal /^{/+1\n0"
|
||||||
|
normal gqgqjjllab
|
||||||
|
let lnum = line('.')
|
||||||
|
call assert_equal([
|
||||||
|
\ 'a ',
|
||||||
|
\ 'b ',
|
||||||
|
\ '',
|
||||||
|
\ 'a ',
|
||||||
|
\ 'b'], getline(lnum - 4, lnum))
|
||||||
|
|
||||||
|
normal ggdG
|
||||||
|
setl tw=3 fo=t
|
||||||
|
call append('$', [
|
||||||
|
\ '{',
|
||||||
|
\ "a \<C-A>",
|
||||||
|
\ '}'])
|
||||||
|
exe "normal /^{/+1\n0"
|
||||||
|
exe "normal gqgqo\na \<C-V>\<C-A>"
|
||||||
|
let lnum = line('.')
|
||||||
|
call assert_equal([
|
||||||
|
\ 'a',
|
||||||
|
\ "\<C-A>",
|
||||||
|
\ '',
|
||||||
|
\ 'a',
|
||||||
|
\ "\<C-A>"], getline(lnum - 4, lnum))
|
||||||
|
|
||||||
|
normal ggdG
|
||||||
|
setl tw=2 fo=tcq1 comments=:#
|
||||||
|
call append('$', [
|
||||||
|
\ '{',
|
||||||
|
\ 'a b',
|
||||||
|
\ '#a b',
|
||||||
|
\ '}'])
|
||||||
|
exe "normal /^{/+1\n0"
|
||||||
|
exe "normal gqgqjgqgqo\na b\n#a b"
|
||||||
|
let lnum = line('.')
|
||||||
|
call assert_equal([
|
||||||
|
\ 'a b',
|
||||||
|
\ '#a b',
|
||||||
|
\ '',
|
||||||
|
\ 'a b',
|
||||||
|
\ '#a b'], getline(lnum - 4, lnum))
|
||||||
|
|
||||||
|
normal ggdG
|
||||||
|
setl tw=5 fo=tcn comments=:#
|
||||||
|
call append('$', [
|
||||||
|
\ '{',
|
||||||
|
\ ' 1 a',
|
||||||
|
\ '# 1 a',
|
||||||
|
\ '}'])
|
||||||
|
exe "normal /^{/+1\n0"
|
||||||
|
exe "normal A b\<Esc>jA b"
|
||||||
|
let lnum = line('.')
|
||||||
|
call assert_equal([
|
||||||
|
\ ' 1 a',
|
||||||
|
\ ' b',
|
||||||
|
\ '# 1 a',
|
||||||
|
\ '# b'], getline(lnum - 3, lnum))
|
||||||
|
|
||||||
|
normal ggdG
|
||||||
|
setl tw=5 fo=t2a si
|
||||||
|
call append('$', [
|
||||||
|
\ '{',
|
||||||
|
\ '',
|
||||||
|
\ ' x a',
|
||||||
|
\ ' b',
|
||||||
|
\ ' c',
|
||||||
|
\ '',
|
||||||
|
\ '}'])
|
||||||
|
exe "normal /^{/+3\n0"
|
||||||
|
exe "normal i \<Esc>A_"
|
||||||
|
let lnum = line('.')
|
||||||
|
call assert_equal([
|
||||||
|
\ '',
|
||||||
|
\ ' x a',
|
||||||
|
\ ' b_',
|
||||||
|
\ ' c',
|
||||||
|
\ ''], getline(lnum - 2, lnum + 2))
|
||||||
|
|
||||||
|
normal ggdG
|
||||||
|
setl tw=5 fo=qn comments=:#
|
||||||
|
call append('$', [
|
||||||
|
\ '{',
|
||||||
|
\ '# 1 a b',
|
||||||
|
\ '}'])
|
||||||
|
exe "normal /^{/+1\n5|"
|
||||||
|
normal gwap
|
||||||
|
call assert_equal(5, col('.'))
|
||||||
|
let lnum = line('.')
|
||||||
|
call assert_equal([
|
||||||
|
\ '# 1 a',
|
||||||
|
\ '# b'], getline(lnum, lnum + 1))
|
||||||
|
|
||||||
|
normal ggdG
|
||||||
|
setl tw=5 fo=q2 comments=:#
|
||||||
|
call append('$', [
|
||||||
|
\ '{',
|
||||||
|
\ '# x',
|
||||||
|
\ '# a b',
|
||||||
|
\ '}'])
|
||||||
|
exe "normal /^{/+1\n0"
|
||||||
|
normal gwap
|
||||||
|
let lnum = line('.')
|
||||||
|
call assert_equal([
|
||||||
|
\ '# x a',
|
||||||
|
\ '# b'], getline(lnum, lnum + 1))
|
||||||
|
|
||||||
|
normal ggdG
|
||||||
|
setl tw& fo=a
|
||||||
|
call append('$', [
|
||||||
|
\ '{',
|
||||||
|
\ ' 1aa',
|
||||||
|
\ ' 2bb',
|
||||||
|
\ '}'])
|
||||||
|
exe "normal /^{/+2\n0"
|
||||||
|
normal I^^
|
||||||
|
call assert_equal('{ 1aa ^^2bb }', getline('.'))
|
||||||
|
|
||||||
|
normal ggdG
|
||||||
|
setl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
|
||||||
|
call append('$', [
|
||||||
|
\ '/* abc def ghi jkl ',
|
||||||
|
\ ' * mno pqr stu',
|
||||||
|
\ ' */'])
|
||||||
|
exe "normal /mno pqr/\n"
|
||||||
|
normal A vwx yz
|
||||||
|
let lnum = line('.')
|
||||||
|
call assert_equal([
|
||||||
|
\ ' * mno pqr stu ',
|
||||||
|
\ ' * vwx yz',
|
||||||
|
\ ' */'], getline(lnum - 1, lnum + 1))
|
||||||
|
|
||||||
|
normal ggdG
|
||||||
|
setl tw=12 fo=tqnc comments=:#
|
||||||
|
call setline('.', '# 1 xxxxx')
|
||||||
|
normal A foobar
|
||||||
|
call assert_equal([
|
||||||
|
\ '# 1 xxxxx',
|
||||||
|
\ '# foobar'], getline(1, 2))
|
||||||
|
|
||||||
|
setl ai& tw& fo& si& comments&
|
||||||
|
enew!
|
||||||
|
endfunc
|
@ -766,6 +766,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1302,
|
||||||
/**/
|
/**/
|
||||||
1301,
|
1301,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user