test(old): reorder test_regexp_latin.vim to match upstream

This commit is contained in:
zeertzjq 2024-07-17 10:50:19 +08:00
parent 4025c2aa5f
commit 8f890f74b6
2 changed files with 66 additions and 68 deletions

View File

@ -28,61 +28,47 @@ func s:equivalence_test()
endfunc endfunc
func Test_equivalence_re1() func Test_equivalence_re1()
throw 'skipped: Nvim does not support enc=latin1'
set re=1 set re=1
call s:equivalence_test() call s:equivalence_test()
endfunc endfunc
func Test_equivalence_re2() func Test_equivalence_re2()
throw 'skipped: Nvim does not support enc=latin1'
set re=2 set re=2
call s:equivalence_test() call s:equivalence_test()
endfunc endfunc
func Test_range_with_newline() func Test_recursive_substitute()
new new
call setline(1, "a") s/^/\=execute("s#^##gn")
call assert_equal(0, search("[ -*\\n- ]")) " check we are now not in the sandbox
call assert_equal(0, search("[ -*\\t-\\n]")) call setwinvar(1, 'myvar', 1)
bwipe! bwipe!
endfunc endfunc
func Test_pattern_compile_speed() func Test_nested_backrefs()
CheckOption spellcapcheck " Check example in change.txt.
CheckFunction reltimefloat
let start = reltime()
" this used to be very slow, not it should be about a second
set spc=\\v(((((Nxxxxxxx&&xxxx){179})+)+)+){179}
call assert_inrange(0.01, 10.0, reltimefloat(reltime(start)))
set spc=
endfunc
func Test_get_equi_class()
new new
" Incomplete equivalence class caused invalid memory access for re in range(0, 2)
s/^/[[= exe 'set re=' . re
call assert_equal(1, search(getline(1))) call setline(1, 'aa ab x')
s/.*/[[. 1s/\(\(a[a-d] \)*\)\(x\)/-\1- -\2- -\3-/
call assert_equal(1, search(getline(1))) call assert_equal('-aa ab - -ab - -x-', getline(1))
endfunc
func Test_rex_init() call assert_equal('-aa ab - -ab - -x-', substitute('aa ab x', '\(\(a[a-d] \)*\)\(x\)', '-\1- -\2- -\3-', ''))
set noincsearch endfor
set re=1
new
setlocal iskeyword=a-z
call setline(1, ['abc', 'ABC'])
call assert_equal(1, search('[[:keyword:]]'))
new
setlocal iskeyword=A-Z
call setline(1, ['abc', 'ABC'])
call assert_equal(2, search('[[:keyword:]]'))
bwipe!
bwipe! bwipe!
set re=0 set re=0
endfunc endfunc
func Test_eow_with_optional()
let expected = ['abc def', 'abc', 'def', '', '', '', '', '', '', '']
for re in range(0, 2)
exe 'set re=' . re
let actual = matchlist('abc def', '\(abc\>\)\?\s*\(def\)')
call assert_equal(expected, actual)
endfor
endfunc
func Test_backref() func Test_backref()
new new
call setline(1, ['one', 'two', 'three', 'four', 'five']) call setline(1, ['one', 'two', 'three', 'four', 'five'])
@ -144,6 +130,50 @@ func Test_out_of_memory()
call assert_fails('call search("\\v((n||<)+);")', 'E363:') call assert_fails('call search("\\v((n||<)+);")', 'E363:')
endfunc endfunc
func Test_get_equi_class()
new
" Incomplete equivalence class caused invalid memory access
s/^/[[=
call assert_equal(1, search(getline(1)))
s/.*/[[.
call assert_equal(1, search(getline(1)))
endfunc
func Test_rex_init()
set noincsearch
set re=1
new
setlocal iskeyword=a-z
call setline(1, ['abc', 'ABC'])
call assert_equal(1, search('[[:keyword:]]'))
new
setlocal iskeyword=A-Z
call setline(1, ['abc', 'ABC'])
call assert_equal(2, search('[[:keyword:]]'))
bwipe!
bwipe!
set re=0
endfunc
func Test_range_with_newline()
new
call setline(1, "a")
call assert_equal(0, search("[ -*\\n- ]"))
call assert_equal(0, search("[ -*\\t-\\n]"))
bwipe!
endfunc
func Test_pattern_compile_speed()
CheckOption spellcapcheck
CheckFunction reltimefloat
let start = reltime()
" this used to be very slow, not it should be about a second
set spc=\\v(((((Nxxxxxxx&&xxxx){179})+)+)+){179}
call assert_inrange(0.01, 10.0, reltimefloat(reltime(start)))
set spc=
endfunc
" Tests for regexp patterns without multi-byte support. " Tests for regexp patterns without multi-byte support.
func Test_regexp_single_line_pat() func Test_regexp_single_line_pat()
" tl is a List of Lists with: " tl is a List of Lists with:

View File

@ -188,38 +188,6 @@ func Test_classes_re2()
set re=0 set re=0
endfunc endfunc
func Test_recursive_substitute()
new
s/^/\=execute("s#^##gn")
" check we are now not in the sandbox
call setwinvar(1, 'myvar', 1)
bwipe!
endfunc
func Test_nested_backrefs()
" Check example in change.txt.
new
for re in range(0, 2)
exe 'set re=' . re
call setline(1, 'aa ab x')
1s/\(\(a[a-d] \)*\)\(x\)/-\1- -\2- -\3-/
call assert_equal('-aa ab - -ab - -x-', getline(1))
call assert_equal('-aa ab - -ab - -x-', substitute('aa ab x', '\(\(a[a-d] \)*\)\(x\)', '-\1- -\2- -\3-', ''))
endfor
bwipe!
set re=0
endfunc
func Test_eow_with_optional()
let expected = ['abc def', 'abc', 'def', '', '', '', '', '', '', '']
for re in range(0, 2)
exe 'set re=' . re
let actual = matchlist('abc def', '\(abc\>\)\?\s*\(def\)')
call assert_equal(expected, actual)
endfor
endfunc
func Test_reversed_range() func Test_reversed_range()
for re in range(0, 2) for re in range(0, 2)
exe 'set re=' . re exe 'set re=' . re