mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 8.2.1295: tests 44 and 99 are old style
Problem: Tests 44 and 99 are old style. Solution: Convert to new style tests. (Yegappan Lakshmanan, closes #6536)
This commit is contained in:
@@ -2311,10 +2311,9 @@ test_libvterm:
|
|||||||
# 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 \
|
||||||
test42 test44 test49 \
|
test42 test49 \
|
||||||
test52 test59 \
|
test52 test59 \
|
||||||
test70 \
|
test70:
|
||||||
test99:
|
|
||||||
cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||||
|
|
||||||
# Run individual NEW style test.
|
# Run individual NEW style test.
|
||||||
|
@@ -14,9 +14,7 @@ SCRIPTS_FIRST = \
|
|||||||
# Tests that run on all systems.
|
# Tests that run on all systems.
|
||||||
SCRIPTS_ALL = \
|
SCRIPTS_ALL = \
|
||||||
test42.out \
|
test42.out \
|
||||||
test44.out \
|
test70.out
|
||||||
test70.out \
|
|
||||||
test99.out
|
|
||||||
|
|
||||||
# Tests that run on most systems, but not on Amiga.
|
# Tests that run on most systems, but not on Amiga.
|
||||||
SCRIPTS_MORE1 = \
|
SCRIPTS_MORE1 = \
|
||||||
|
@@ -74,7 +74,7 @@ VIMPROG = <->vim.exe
|
|||||||
.SUFFIXES : .out .in
|
.SUFFIXES : .out .in
|
||||||
|
|
||||||
SCRIPT = test1.out \
|
SCRIPT = test1.out \
|
||||||
test42.out test44.out test49.out test77a.out test99.out
|
test42.out test49.out test77a.out
|
||||||
|
|
||||||
# Known problems:
|
# Known problems:
|
||||||
#
|
#
|
||||||
|
@@ -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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y
|
|
||||||
f <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>z
|
|
||||||
g a啷bb
|
|
||||||
j 0123❤x
|
|
||||||
k combinations
|
|
||||||
l äö üᾱ̆́
|
|
@@ -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(
|
|
@@ -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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y
|
|
||||||
f <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>z
|
|
||||||
g a啷bb
|
|
||||||
j 0123❤x
|
|
||||||
k combinations
|
|
||||||
l äö üᾱ̆́
|
|
@@ -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 ä ö ü ᾱ̆́
|
|
||||||
ב
|
|
||||||
בג
|
|
||||||
א
|
|
||||||
ג
|
|
@@ -377,4 +377,128 @@ func Test_regexp_ignore_case()
|
|||||||
set regexpengine&
|
set regexpengine&
|
||||||
endfunc
|
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y
|
||||||
|
f <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>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
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@@ -754,6 +754,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 */
|
||||||
|
/**/
|
||||||
|
1295,
|
||||||
/**/
|
/**/
|
||||||
1294,
|
1294,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user