vim-patch:8.0.1105: match() and matchend() are not tested

Problem:    match() and matchend() are not tested.
Solution:   Add tests. (Ozaki Kiichi, closes vim/vim#2088)
1190cf68e2
This commit is contained in:
Jan Edmund Lazo 2018-08-08 22:37:07 -04:00
parent 3c6eb9871a
commit fe6cf2812b
2 changed files with 37 additions and 10 deletions

View File

@ -573,10 +573,46 @@ func Test_strridx()
call assert_equal(-1, strridx('hello', 'hello world')) call assert_equal(-1, strridx('hello', 'hello world'))
endfunc endfunc
func Test_match_func()
call assert_equal(4, match('testing', 'ing'))
call assert_equal(4, match('testing', 'ing', 2))
call assert_equal(-1, match('testing', 'ing', 5))
call assert_equal(-1, match('testing', 'ing', 8))
call assert_equal(1, match(['vim', 'testing', 'execute'], 'ing'))
call assert_equal(-1, match(['vim', 'testing', 'execute'], 'img'))
endfunc
func Test_matchend() func Test_matchend()
call assert_equal(7, matchend('testing', 'ing')) call assert_equal(7, matchend('testing', 'ing'))
call assert_equal(7, matchend('testing', 'ing', 2)) call assert_equal(7, matchend('testing', 'ing', 2))
call assert_equal(-1, matchend('testing', 'ing', 5)) call assert_equal(-1, matchend('testing', 'ing', 5))
call assert_equal(-1, matchend('testing', 'ing', 8))
call assert_equal(match(['vim', 'testing', 'execute'], 'ing'), matchend(['vim', 'testing', 'execute'], 'ing'))
call assert_equal(match(['vim', 'testing', 'execute'], 'img'), matchend(['vim', 'testing', 'execute'], 'img'))
endfunc
func Test_matchlist()
call assert_equal(['acd', 'a', '', 'c', 'd', '', '', '', '', ''], matchlist('acd', '\(a\)\?\(b\)\?\(c\)\?\(.*\)'))
call assert_equal(['d', '', '', '', 'd', '', '', '', '', ''], matchlist('acd', '\(a\)\?\(b\)\?\(c\)\?\(.*\)', 2))
call assert_equal([], matchlist('acd', '\(a\)\?\(b\)\?\(c\)\?\(.*\)', 4))
endfunc
func Test_matchstr()
call assert_equal('ing', matchstr('testing', 'ing'))
call assert_equal('ing', matchstr('testing', 'ing', 2))
call assert_equal('', matchstr('testing', 'ing', 5))
call assert_equal('', matchstr('testing', 'ing', 8))
call assert_equal('testing', matchstr(['vim', 'testing', 'execute'], 'ing'))
call assert_equal('', matchstr(['vim', 'testing', 'execute'], 'img'))
endfunc
func Test_matchstrpos()
call assert_equal(['ing', 4, 7], matchstrpos('testing', 'ing'))
call assert_equal(['ing', 4, 7], matchstrpos('testing', 'ing', 2))
call assert_equal(['', -1, -1], matchstrpos('testing', 'ing', 5))
call assert_equal(['', -1, -1], matchstrpos('testing', 'ing', 8))
call assert_equal(['ing', 1, 4, 7], matchstrpos(['vim', 'testing', 'execute'], 'ing'))
call assert_equal(['', -1, -1, -1], matchstrpos(['vim', 'testing', 'execute'], 'img'))
endfunc endfunc
func Test_nextnonblank_prevnonblank() func Test_nextnonblank_prevnonblank()

View File

@ -1,5 +1,5 @@
" Test for :match, :2match, :3match, clearmatches(), getmatches(), matchadd(), " Test for :match, :2match, :3match, clearmatches(), getmatches(), matchadd(),
" matchaddpos(), matcharg(), matchdelete(), matchstrpos() and setmatches(). " matchaddpos(), matcharg(), matchdelete(), and setmatches().
function Test_match() function Test_match()
highlight MyGroup1 term=bold ctermbg=red guibg=red highlight MyGroup1 term=bold ctermbg=red guibg=red
@ -150,15 +150,6 @@ function Test_match()
highlight MyGroup3 NONE highlight MyGroup3 NONE
endfunc endfunc
func Test_matchstrpos()
call assert_equal(['ing', 4, 7], matchstrpos('testing', 'ing'))
call assert_equal(['ing', 4, 7], matchstrpos('testing', 'ing', 2))
call assert_equal(['', -1, -1], matchstrpos('testing', 'ing', 5))
call assert_equal(['', -1, -1], matchstrpos('testing', 'ing', 8))
call assert_equal(['ing', 1, 4, 7], matchstrpos(['vim', 'testing', 'execute'], 'ing'))
call assert_equal(['', -1, -1, -1], matchstrpos(['vim', 'testing', 'execute'], 'img'))
endfunc
func Test_matchaddpos() func Test_matchaddpos()
syntax on syntax on
set hlsearch set hlsearch