# HG changeset patch # User Christian Brabandt # Date 1472839209 -7200 # Node ID c104f09ae2f49d688343b3e07c530f04cc137eb4 # Parent bbd00d8aef61815774d54b5bd5f0ccf6a7eb29bc commit https://github.com/vim/vim/commit/cd055da370114f66c960be9c8b1eb0f33a9e0a85 Author: Bram Moolenaar Date: Fri Sep 2 19:50:48 2016 +0200 patch 7.4.2307 Problem: Several tests are old style. Solution: Turn them into new style tests. (Yegappan Lakshmanan) diff --git a/src/Makefile b/src/Makefile --- a/src/Makefile +++ b/src/Makefile @@ -2027,7 +2027,6 @@ test1 \ test_autoformat_join \ test_breakindent \ test_changelist \ - test_charsearch \ test_close_count \ test_command_count \ test_comparators \ @@ -2046,13 +2045,13 @@ test1 \ test11 test12 test13 test14 test15 test17 test18 test19 \ test20 test21 test22 test23 test24 test25 test26 test27 test28 test29 \ test30 test31 test32 test33 test34 test36 test37 test38 test39 \ - test40 test41 test42 test43 test44 test45 test46 test48 test49 \ + test40 test41 test42 test43 test44 test45 test48 test49 \ test50 test51 test52 test53 test54 test55 test56 test57 test58 test59 \ test60 test64 test65 test66 test67 test68 test69 \ test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \ - test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \ + test80 test82 test83 test84 test85 test86 test87 test88 test89 \ test90 test91 test92 test93 test94 test95 test97 test98 test99 \ - test100 test101 test102 test103 test104 test107 test108: + test100 test101 test103 test104 test107 test108: cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE) # Run individual NEW style test, assuming that Vim was already compiled. @@ -2065,6 +2064,7 @@ test_arglist \ test_bufwintabinfo \ test_cdo \ test_channel \ + test_charsearch \ test_cmdline \ test_cscope \ test_cursor_func \ @@ -2082,6 +2082,7 @@ test_arglist \ test_file_perm \ test_filter_cmd \ test_filter_map \ + test_fnameescape \ test_fnamemodify \ test_glob2regpat \ test_gn \ @@ -2130,6 +2131,7 @@ test_arglist \ test_startup_utf8 \ test_stat \ test_statusline \ + test_substitute \ test_syn_attr \ test_syntax \ test_tabline \ diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak --- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -42,7 +42,6 @@ SCRIPTS_ALL = \ test43.out \ test44.out \ test45.out \ - test46.out \ test48.out \ test51.out \ test53.out \ @@ -64,7 +63,6 @@ SCRIPTS_ALL = \ test77.out \ test79.out \ test80.out \ - test81.out \ test82.out \ test84.out \ test88.out \ @@ -77,7 +75,6 @@ SCRIPTS_ALL = \ test98.out \ test99.out \ test101.out \ - test102.out \ test103.out \ test104.out \ test107.out \ @@ -157,11 +154,13 @@ NEW_TESTS = test_arglist.res \ test_bufwintabinfo.res \ test_cdo.res \ test_channel.res \ + test_charsearch.res \ test_cmdline.res \ test_cscope.res \ test_diffmode.res \ test_digraph.res \ test_farsi.res \ + test_fnameescape.res \ test_gn.res \ test_gui.res \ test_hardcopy.res \ @@ -185,6 +184,7 @@ NEW_TESTS = test_arglist.res \ test_startup.res \ test_startup_utf8.res \ test_stat.res \ + test_substitute.res \ test_syntax.res \ test_textobjects.res \ test_undo.res \ diff --git a/src/testdir/test102.in b/src/testdir/test102.in deleted file mode 100644 --- a/src/testdir/test102.in +++ /dev/null @@ -1,13 +0,0 @@ -Test if fnameescape is correct for special chars like ! - -STARTTEST -:so small.vim -:%d -:let fname = 'Xspa ce' -:try | exe "w! " . fnameescape(fname) | put='Space' | endtry -:let fname = 'Xemark!' -:try | exe "w! " . fnameescape(fname) | put='ExclamationMark' | endtry -:w! test.out -:qa! -ENDTEST - diff --git a/src/testdir/test102.ok b/src/testdir/test102.ok deleted file mode 100644 --- a/src/testdir/test102.ok +++ /dev/null @@ -1,3 +0,0 @@ - -Space -ExclamationMark diff --git a/src/testdir/test46.in b/src/testdir/test46.in deleted file mode 100644 --- a/src/testdir/test46.in +++ /dev/null @@ -1,27 +0,0 @@ -Tests for multi-line regexps with ":s". vim: set ft=vim : - -STARTTEST -:" test if replacing a line break works with a back reference -:/^1/,/^2/s/\n\(.\)/ \1/ -:" test if inserting a line break works with a back reference -:/^3/,/^4/s/\(.\)$/\r\1/ -:" test if replacing a line break with another line break works -:/^5/,/^6/s/\(\_d\{3}\)/x\1x/ -:/^1/,$w! test.out -:qa! -ENDTEST - -1 aa -bb -cc -2 dd -ee -3 ef -gh -4 ij -5 a8 -8b c9 -9d -6 e7 -77f -xxxxx diff --git a/src/testdir/test46.ok b/src/testdir/test46.ok deleted file mode 100644 --- a/src/testdir/test46.ok +++ /dev/null @@ -1,13 +0,0 @@ -1 aa bb cc 2 dd ee -3 e -f -g -h -4 i -j -5 ax8 -8xb cx9 -9xd -6 ex7 -7x7f -xxxxx diff --git a/src/testdir/test81.in b/src/testdir/test81.in deleted file mode 100644 --- a/src/testdir/test81.in +++ /dev/null @@ -1,22 +0,0 @@ -Test for t movement command and 'cpo-;' setting - -STARTTEST -:set nocompatible viminfo+=nviminfo -:set cpo-=; -/firstline/ -j0tt;D -0fz;D -$Fy;D -$Ty;D:set cpo+=; -j0tt;;D -$Ty;;D:?firstline?+1,$w! test.out -:qa! -ENDTEST - -firstline -aaa two three four - zzz -yyy -bbb yee yoo four -ccc two three four -ddd yee yoo four diff --git a/src/testdir/test81.ok b/src/testdir/test81.ok deleted file mode 100644 --- a/src/testdir/test81.ok +++ /dev/null @@ -1,6 +0,0 @@ -aaa two - z -y -bbb y -ccc -ddd yee y diff --git a/src/testdir/test_charsearch.in b/src/testdir/test_charsearch.in deleted file mode 100644 --- a/src/testdir/test_charsearch.in +++ /dev/null @@ -1,26 +0,0 @@ -Test for character searches - -STARTTEST -:so small.vim -:" check that "fe" and ";" work -/^X -ylfep;;p,,p: -:" check that save/restore works -/^Y -ylfep:let csave = getcharsearch() -fip:call setcharsearch(csave) -;p;p: -:" check that setcharsearch() changes the settings. -/^Z -ylfep:call setcharsearch({'char': 'k'}) -;p:call setcharsearch({'forward': 0}) -$;p:call setcharsearch({'until': 1}) -:set cpo-=; -;;p: -:/^X/,$w! test.out -:qa! -ENDTEST - -Xabcdefghijkemnopqretuvwxyz -Yabcdefghijkemnopqretuvwxyz -Zabcdefghijkemnokqretkvwxyz diff --git a/src/testdir/test_charsearch.ok b/src/testdir/test_charsearch.ok deleted file mode 100644 --- a/src/testdir/test_charsearch.ok +++ /dev/null @@ -1,3 +0,0 @@ -XabcdeXfghijkeXmnopqreXtuvwxyz -YabcdeYfghiYjkeYmnopqreYtuvwxyz -ZabcdeZfghijkZZemnokqretkZvwxyz diff --git a/src/testdir/test_charsearch.vim b/src/testdir/test_charsearch.vim new file mode 100644 --- /dev/null +++ b/src/testdir/test_charsearch.vim @@ -0,0 +1,62 @@ + +function! Test_charsearch() + enew! + call append(0, ['Xabcdefghijkemnopqretuvwxyz', + \ 'Yabcdefghijkemnopqretuvwxyz', + \ 'Zabcdefghijkemnokqretkvwxyz']) + " check that "fe" and ";" work + 1 + normal! ylfep;;p,,p + call assert_equal('XabcdeXfghijkeXmnopqreXtuvwxyz', getline(1)) + " check that save/restore works + 2 + normal! ylfep + let csave = getcharsearch() + normal! fip + call setcharsearch(csave) + normal! ;p;p + call assert_equal('YabcdeYfghiYjkeYmnopqreYtuvwxyz', getline(2)) + + " check that setcharsearch() changes the settings. + 3 + normal! ylfep + call setcharsearch({'char': 'k'}) + normal! ;p + call setcharsearch({'forward': 0}) + normal! $;p + call setcharsearch({'until': 1}) + set cpo-=; + normal! ;;p + call assert_equal('ZabcdeZfghijkZZemnokqretkZvwxyz', getline(3)) + enew! +endfunction + +" Test for t,f,F,T movement commands and 'cpo-;' setting +function! Test_search_cmds() + enew! + call append(0, ["aaa two three four", " zzz", "yyy ", + \ "bbb yee yoo four", "ccc two three four", + \ "ddd yee yoo four"]) + set cpo-=; + 1 + normal! 0tt;D + 2 + normal! 0fz;D + 3 + normal! $Fy;D + 4 + normal! $Ty;D + set cpo+=; + 5 + normal! 0tt;;D + 6 + normal! $Ty;;D + + call assert_equal('aaa two', getline(1)) + call assert_equal(' z', getline(2)) + call assert_equal('y', getline(3)) + call assert_equal('bbb y', getline(4)) + call assert_equal('ccc', getline(5)) + call assert_equal('ddd yee y', getline(6)) + enew! +endfunction diff --git a/src/testdir/test_fnameescape.vim b/src/testdir/test_fnameescape.vim new file mode 100644 --- /dev/null +++ b/src/testdir/test_fnameescape.vim @@ -0,0 +1,21 @@ + +" Test if fnameescape is correct for special chars like ! +function! Test_fnameescape() + let fname = 'Xspa ce' + let status = v:false + try + exe "w! " . fnameescape(fname) + let status = v:true + endtry + call assert_true(status, "Space") + call delete(fname) + + let fname = 'Xemark!' + let status = v:false + try + exe "w! " . fnameescape(fname) + let status = v:true + endtry + call assert_true(status, "ExclamationMark") + call delete(fname) +endfunction diff --git a/src/testdir/test_substitute.vim b/src/testdir/test_substitute.vim new file mode 100644 --- /dev/null +++ b/src/testdir/test_substitute.vim @@ -0,0 +1,41 @@ +" Tests for multi-line regexps with ":s". + +function! Test_multiline_subst() + enew! + call append(0, ["1 aa", + \ "bb", + \ "cc", + \ "2 dd", + \ "ee", + \ "3 ef", + \ "gh", + \ "4 ij", + \ "5 a8", + \ "8b c9", + \ "9d", + \ "6 e7", + \ "77f", + \ "xxxxx"]) + + 1 + " test if replacing a line break works with a back reference + /^1/,/^2/s/\n\(.\)/ \1/ + " test if inserting a line break works with a back reference + /^3/,/^4/s/\(.\)$/\r\1/ + " test if replacing a line break with another line break works + /^5/,/^6/s/\(\_d\{3}\)/x\1x/ + call assert_equal('1 aa bb cc 2 dd ee', getline(1)) + call assert_equal('3 e', getline(2)) + call assert_equal('f', getline(3)) + call assert_equal('g', getline(4)) + call assert_equal('h', getline(5)) + call assert_equal('4 i', getline(6)) + call assert_equal('j', getline(7)) + call assert_equal('5 ax8', getline(8)) + call assert_equal('8xb cx9', getline(9)) + call assert_equal('9xd', getline(10)) + call assert_equal('6 ex7', getline(11)) + call assert_equal('7x7f', getline(12)) + call assert_equal('xxxxx', getline(13)) + enew! +endfunction diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -764,6 +764,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2307, +/**/ 2306, /**/ 2305,