]> granicus.if.org Git - vim/commitdiff
patch 8.2.1295: tests 44 and 99 are old style v8.2.1295
authorBram Moolenaar <Bram@vim.org>
Sun, 26 Jul 2020 10:52:59 +0000 (12:52 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 26 Jul 2020 10:52:59 +0000 (12:52 +0200)
Problem:    Tests 44 and 99 are old style.
Solution:   Convert to new style tests. (Yegappan Lakshmanan, closes #6536)

src/Makefile
src/testdir/Make_all.mak
src/testdir/Make_vms.mms
src/testdir/test44.in [deleted file]
src/testdir/test44.ok [deleted file]
src/testdir/test99.in [deleted file]
src/testdir/test99.ok [deleted file]
src/testdir/test_regexp_utf8.vim
src/version.c

index 8ac7dc58beb7fdaa7bd773ab9d77860dd59fd961..9ce61aa018c7c3198ec9a02da10ee15009af5932 100644 (file)
@@ -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.
index d51766715654853e60f7bb822e366840a7c3293a..b2d9ac6f0f84d5b1b3589dc7a0b91e0ea31daacd 100644 (file)
@@ -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 = \
index 991a2f773b590af4841ae1d67521705c50eacb9b..352e5539ebc1fe70c421bef43c5e3e339dcc1e31 100644 (file)
@@ -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 (file)
index 7126392..0000000
+++ /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 (file)
index 45774d7..0000000
+++ /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 (file)
index 3961244..0000000
+++ /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 (file)
index dea3665..0000000
+++ /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 ä ö ü ᾱ̆́
-בג
index 5100b378a90d7a60f0c3e145c38ad4aa4aa591b6..cc7df9ed5940e580ba61261051d370076965502b 100644 (file)
@@ -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
index 27015c2ae8d3866749a07c6b12d7413cc59fcc22..fe9b7872094830a8fb2b305ac2249cfc6a39fdaa 100644 (file)
@@ -754,6 +754,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1295,
 /**/
     1294,
 /**/