diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-07-26 12:52:59 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-07-26 12:52:59 +0200 |
commit | 7d40b8a532fa2ce768f200ab118870d17875a7fe (patch) | |
tree | 4910e2178308753bee7a5629cc57fb098371e7e3 /src | |
parent | 37394ff75270877a032422abcd079a6732a29730 (diff) | |
download | vim-git-7d40b8a532fa2ce768f200ab118870d17875a7fe.tar.gz |
patch 8.2.1295: tests 44 and 99 are old stylev8.2.1295
Problem: Tests 44 and 99 are old style.
Solution: Convert to new style tests. (Yegappan Lakshmanan, closes #6536)
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile | 5 | ||||
-rw-r--r-- | src/testdir/Make_all.mak | 4 | ||||
-rw-r--r-- | src/testdir/Make_vms.mms | 2 | ||||
-rw-r--r-- | src/testdir/test44.in | 81 | ||||
-rw-r--r-- | src/testdir/test44.ok | 25 | ||||
-rw-r--r-- | src/testdir/test99.in | 69 | ||||
-rw-r--r-- | src/testdir/test99.ok | 23 | ||||
-rw-r--r-- | src/testdir/test_regexp_utf8.vim | 124 | ||||
-rw-r--r-- | src/version.c | 2 |
9 files changed, 130 insertions, 205 deletions
diff --git a/src/Makefile b/src/Makefile index 8ac7dc58b..9ce61aa01 100644 --- a/src/Makefile +++ b/src/Makefile @@ -2311,10 +2311,9 @@ test_libvterm: # Run individual OLD style test. # These do not depend on the executable, compile it when needed. test1 \ - test42 test44 test49 \ + test42 test49 \ test52 test59 \ - test70 \ - test99: + test70: cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE) # Run individual NEW style test. diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak index d51766715..b2d9ac6f0 100644 --- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -14,9 +14,7 @@ SCRIPTS_FIRST = \ # Tests that run on all systems. SCRIPTS_ALL = \ test42.out \ - test44.out \ - test70.out \ - test99.out + test70.out # Tests that run on most systems, but not on Amiga. SCRIPTS_MORE1 = \ diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms index 991a2f773..352e5539e 100644 --- a/src/testdir/Make_vms.mms +++ b/src/testdir/Make_vms.mms @@ -74,7 +74,7 @@ VIMPROG = <->vim.exe .SUFFIXES : .out .in SCRIPT = test1.out \ - test42.out test44.out test49.out test77a.out test99.out + test42.out test49.out test77a.out # Known problems: # diff --git a/src/testdir/test44.in b/src/testdir/test44.in deleted file mode 100644 index 712639237..000000000 --- a/src/testdir/test44.in +++ /dev/null @@ -1,81 +0,0 @@ -Tests for regexp with multi-byte encoding and various magic settings. -Test matchstr() with a count and multi-byte chars. -See test99 for exactly the same test with re=2. - -STARTTEST -:so mbyte.vim -:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo -:set re=1 -/^1 -/a*b\{2}c\+/e -x/\Md\*e\{2}f\+/e -x:set nomagic -/g\*h\{2}i\+/e -x/\mj*k\{2}l\+/e -x/\vm*n{2}o+/e -x/\V^aa$ -x:set magic -/\v(a)(b)\2\1\1/e -x/\V[ab]\(\[xy]\)\1 -x:" Now search for multi-byte without composing char -/ม -x:" Now search for multi-byte with composing char -/ม่ -x:" find word by change of word class -/ち\<カヨ\>は -x:" Test \%u, [\u] and friends -:" c -/\%u20ac -x:" d -/[\u4f7f\u5929]\+ -x:" e -/\%U12345678 -x:" f -/[\U1234abcd\u1234\uabcd] -x:" g -/\%d21879b -x:" j Test backwards search from a multi-byte char -/x -x?. -x:" k -:let @w=':%s#comb[i]nations#œ̄ṣ́m̥̄ᾱ̆́#g' -:@w -:" -:" l Test what 7.3.192 fixed -/^l -:s/ \?/ /g -:?^1?,$w! test.out -:e! test.out -G:put =matchstr(\"אבגד\", \".\", 0, 2) " ב -:put =matchstr(\"אבגד\", \"..\", 0, 2) " בג -:put =matchstr(\"אבגד\", \".\", 0, 0) " א -:put =matchstr(\"אבגד\", \".\", 4, -1) " ג -:new -:$put =['dog(a', 'cat('] -/(/e+ -"ayn:bd! -:$put ='' -G"ap -:w! -:qa! -ENDTEST - -1 a aa abb abbccc -2 d dd dee deefff -3 g gg ghh ghhiii -4 j jj jkk jkklll -5 m mm mnn mnnooo -6 x ^aa$ x -7 (a)(b) abbaa -8 axx [ab]xx -9 หม่x อมx -a อมx หม่x -b ちカヨは -c x ¬€x -d 天使x -e y -f z -g a啷bb -j 0123❤x -k combinations -l äö üᾱ̆́ diff --git a/src/testdir/test44.ok b/src/testdir/test44.ok deleted file mode 100644 index 45774d7cb..000000000 --- a/src/testdir/test44.ok +++ /dev/null @@ -1,25 +0,0 @@ -1 a aa abb abbcc -2 d dd dee deeff -3 g gg ghh ghhii -4 j jj jkk jkkll -5 m mm mnn mnnoo -6 x aa$ x -7 (a)(b) abba -8 axx ab]xx -9 หม่x อx -a อมx หx -b カヨは -c x ¬x -d 使x -e y -f z -g abb -j 012❤ -k œ̄ṣ́m̥̄ᾱ̆́ - l ä ö ü ᾱ̆́ -ב -בג -א -ג -a -cat( diff --git a/src/testdir/test99.in b/src/testdir/test99.in deleted file mode 100644 index 3961244c7..000000000 --- a/src/testdir/test99.in +++ /dev/null @@ -1,69 +0,0 @@ -Tests for regexp with multi-byte encoding and various magic settings. -Test matchstr() with a count and multi-byte chars. -See test44 for exactly the same test with re=1. - -STARTTEST -:so mbyte.vim -:set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo -:set re=2 -/^1 -/a*b\{2}c\+/e -x/\Md\*e\{2}f\+/e -x:set nomagic -/g\*h\{2}i\+/e -x/\mj*k\{2}l\+/e -x/\vm*n{2}o+/e -x/\V^aa$ -x:set magic -/\v(a)(b)\2\1\1/e -x/\V[ab]\(\[xy]\)\1 -x:" Now search for multi-byte without composing char -/ม -x:" Now search for multi-byte with composing char -/ม่ -x:" find word by change of word class -/ち\<カヨ\>は -x:" Test \%u, [\u] and friends -/\%u20ac -x/[\u4f7f\u5929]\+ -x/\%U12345678 -x/[\U1234abcd\u1234\uabcd] -x/\%d21879b -x:" Test backwards search from a multi-byte char -/x -x?. -x:let @w=':%s#comb[i]nations#œ̄ṣ́m̥̄ᾱ̆́#g' -:@w -:" -:" l Test what 7.3.192 fixed -/^l -:s/ \?/ /g -:?^1?,$w! test.out -:e! test.out -G:put =matchstr(\"אבגד\", \".\", 0, 2) " ב -:put =matchstr(\"אבגד\", \"..\", 0, 2) " בג -:put =matchstr(\"אבגד\", \".\", 0, 0) " א -:put =matchstr(\"אבגד\", \".\", 4, -1) " ג -:w! -:qa! -ENDTEST - -1 a aa abb abbccc -2 d dd dee deefff -3 g gg ghh ghhiii -4 j jj jkk jkklll -5 m mm mnn mnnooo -6 x ^aa$ x -7 (a)(b) abbaa -8 axx [ab]xx -9 หม่x อมx -a อมx หม่x -b ちカヨは -c x ¬€x -d 天使x -e y -f z -g a啷bb -j 0123❤x -k combinations -l äö üᾱ̆́ diff --git a/src/testdir/test99.ok b/src/testdir/test99.ok deleted file mode 100644 index dea3665cf..000000000 --- a/src/testdir/test99.ok +++ /dev/null @@ -1,23 +0,0 @@ -1 a aa abb abbcc -2 d dd dee deeff -3 g gg ghh ghhii -4 j jj jkk jkkll -5 m mm mnn mnnoo -6 x aa$ x -7 (a)(b) abba -8 axx ab]xx -9 หม่x อx -a อมx หx -b カヨは -c x ¬x -d 使x -e y -f z -g abb -j 012❤ -k œ̄ṣ́m̥̄ᾱ̆́ - l ä ö ü ᾱ̆́ -ב -בג -א -ג diff --git a/src/testdir/test_regexp_utf8.vim b/src/testdir/test_regexp_utf8.vim index 5100b378a..cc7df9ed5 100644 --- a/src/testdir/test_regexp_utf8.vim +++ b/src/testdir/test_regexp_utf8.vim @@ -377,4 +377,128 @@ func Test_regexp_ignore_case() set regexpengine& endfunc +" Tests for regexp with multi-byte encoding and various magic settings +func Run_regexp_multibyte_magic() + let text =<< trim END + 1 a aa abb abbccc + 2 d dd dee deefff + 3 g gg ghh ghhiii + 4 j jj jkk jkklll + 5 m mm mnn mnnooo + 6 x ^aa$ x + 7 (a)(b) abbaa + 8 axx [ab]xx + 9 หม่x อมx + a อมx หม่x + b ちカヨは + c x ¬€x + d 天使x + e y + f z + g a啷bb + j 0123❤x + k combinations + l äö üᾱ̆́ + END + + new + call setline(1, text) + exe 'normal /a*b\{2}c\+/e' .. "\<CR>x" + call assert_equal('1 a aa abb abbcc', getline('.')) + exe 'normal /\Md\*e\{2}f\+/e' .. "\<CR>x" + call assert_equal('2 d dd dee deeff', getline('.')) + set nomagic + exe 'normal /g\*h\{2}i\+/e' .. "\<CR>x" + call assert_equal('3 g gg ghh ghhii', getline('.')) + exe 'normal /\mj*k\{2}l\+/e' .. "\<CR>x" + call assert_equal('4 j jj jkk jkkll', getline('.')) + exe 'normal /\vm*n{2}o+/e' .. "\<CR>x" + call assert_equal('5 m mm mnn mnnoo', getline('.')) + exe 'normal /\V^aa$/' .. "\<CR>x" + call assert_equal('6 x aa$ x', getline('.')) + set magic + exe 'normal /\v(a)(b)\2\1\1/e' .. "\<CR>x" + call assert_equal('7 (a)(b) abba', getline('.')) + exe 'normal /\V[ab]\(\[xy]\)\1' .. "\<CR>x" + call assert_equal('8 axx ab]xx', getline('.')) + + " search for multi-byte without composing char + exe 'normal /ม' .. "\<CR>x" + call assert_equal('9 หม่x อx', getline('.')) + + " search for multi-byte with composing char + exe 'normal /ม่' .. "\<CR>x" + call assert_equal('a อมx หx', getline('.')) + + " find word by change of word class + exe 'normal /ち\<カヨ\>は' .. "\<CR>x" + call assert_equal('b カヨは', getline('.')) + + " Test \%u, [\u] and friends + " c + exe 'normal /\%u20ac' .. "\<CR>x" + call assert_equal('c x ¬x', getline('.')) + " d + exe 'normal /[\u4f7f\u5929]\+' .. "\<CR>x" + call assert_equal('d 使x', getline('.')) + " e + exe 'normal /\%U12345678' .. "\<CR>x" + call assert_equal('e y', getline('.')) + " f + exe 'normal /[\U1234abcd\u1234\uabcd]' .. "\<CR>x" + call assert_equal('f z', getline('.')) + " g + exe 'normal /\%d21879b' .. "\<CR>x" + call assert_equal('g abb', getline('.')) + + " j Test backwards search from a multi-byte char + exe "normal /x\<CR>x?.\<CR>x" + call assert_equal('j 012❤', getline('.')) + " k + let @w=':%s#comb[i]nations#œ̄ṣ́m̥̄ᾱ̆́#g' + @w + call assert_equal('k œ̄ṣ́m̥̄ᾱ̆́', getline(18)) + + close! +endfunc + +func Test_regexp_multibyte_magic() + set regexpengine=1 + call Run_regexp_multibyte_magic() + set regexpengine=2 + call Run_regexp_multibyte_magic() + set regexpengine& +endfunc + +" Test for 7.3.192 +" command ":s/ \?/ /g" splits multi-byte characters into bytes +func Test_split_multibyte_to_bytes() + new + call setline(1, 'l äö üᾱ̆́') + s/ \?/ /g + call assert_equal(' l ä ö ü ᾱ̆́', getline(1)) + close! +endfunc + +" Test for matchstr() with multibyte characters +func Test_matchstr_multibyte() + new + call assert_equal('ב', matchstr("אבגד", ".", 0, 2)) + call assert_equal('בג', matchstr("אבגד", "..", 0, 2)) + call assert_equal('א', matchstr("אבגד", ".", 0, 0)) + call assert_equal('ג', matchstr("אבגד", ".", 4, -1)) + close! +endfunc + +" Test for 7.4.636 +" A search with end offset gets stuck at end of file. +func Test_search_with_end_offset() + new + call setline(1, ['', 'dog(a', 'cat(']) + exe "normal /(/e+" .. "\<CR>" + normal "ayn + call assert_equal("a\ncat(", @a) + close! +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c index 27015c2ae..fe9b78720 100644 --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1295, +/**/ 1294, /**/ 1293, |