summaryrefslogtreecommitdiffstats
path: root/src/testdir
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-07-26 12:52:59 +0200
committerBram Moolenaar <Bram@vim.org>2020-07-26 12:52:59 +0200
commit7d40b8a532fa2ce768f200ab118870d17875a7fe (patch)
tree4910e2178308753bee7a5629cc57fb098371e7e3 /src/testdir
parent37394ff75270877a032422abcd079a6732a29730 (diff)
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/testdir')
-rw-r--r--src/testdir/Make_all.mak4
-rw-r--r--src/testdir/Make_vms.mms2
-rw-r--r--src/testdir/test44.in81
-rw-r--r--src/testdir/test44.ok25
-rw-r--r--src/testdir/test99.in69
-rw-r--r--src/testdir/test99.ok23
-rw-r--r--src/testdir/test_regexp_utf8.vim124
7 files changed, 126 insertions, 202 deletions
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index d517667156..b2d9ac6f0f 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 991a2f773b..352e5539eb 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 7126392377..0000000000
--- 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 45774d7cbb..0000000000
--- 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 3961244c79..0000000000
--- 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 dea3665cf6..0000000000
--- 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 5100b378a9..cc7df9ed59 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