0
0
mirror of https://github.com/vim/vim.git synced 2025-10-21 08:24:06 -04:00

patch 9.1.1695: Need more Vim script specific tests

Problem:  Need more Vim script specific tests
Solution: Add more tests (Yegappan Lakshmanan).

closes: #18118

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Yegappan Lakshmanan
2025-08-26 21:32:46 +02:00
committed by Christian Brabandt
parent 3aea867b27
commit e810ba5a1f
3 changed files with 74 additions and 0 deletions

View File

@@ -613,6 +613,13 @@ def Test_block_in_a_string()
v9.CheckSourceSuccess(lines)
enddef
" Test for using too many nested blocks
def Test_too_many_nested_blocks()
var lines = ['vim9script']
lines += repeat(['{'], 51) + ['echo "Hello"'] + repeat(['}'], 51)
v9.CheckSourceFailure(lines, 'E579: Block nesting too deep: {')
enddef
func g:NoSuchFunc()
echo 'none'
endfunc

View File

@@ -7591,6 +7591,7 @@ func Test_deeply_nested_source()
call system(cmd)
endfunc
" Test for impact of silent! on an exception {{{1
func Test_exception_silent()
XpathINIT
let lines =<< trim END
@@ -7616,6 +7617,70 @@ func Test_exception_silent()
call RunInNewVim(lines, verify)
endfunc
" Test for an error message starting with "Vim E123: " {{{1
func Test_skip_prefix_in_exception()
let emsg = ''
try
echoerr "Vim E123:"
catch
let emsg = v:exception
endtry
call assert_equal('Vim(echoerr):Vim E123:', emsg)
let emsg = ''
try
echoerr "Vim E123: abc"
catch
let emsg = v:exception
endtry
call assert_equal('Vim(echoerr):E123: abc', emsg)
endfunc
" Test for try/except messages displayed with 'verbose' level set to 13 {{{1
func Test_verbose_try_except_messages()
let msgs = ''
redir => msgs
set verbose=13
try
echoerr 'foo'
catch
echo v:exception
endtry
set verbose=0
redir END
let expected =<< trim END
Exception thrown: Vim(echoerr):foo
Exception caught: Vim(echoerr):foo
Vim(echoerr):foo
Exception finished: Vim(echoerr):foo
END
call assert_equal(expected, msgs->split("\n"))
endfunc
" Test for trailing characters after a catch pattern {{{1
func Test_catch_pattern_trailing_chars()
let lines =<< trim END
try
echoerr 'foo'
catch /foo/xxx
echo 'caught foo'
endtry
END
new
call setline(1, lines)
let caught_exception = v:false
try
source
catch /E488: Trailing characters: \/xxx/
let caught_exception = v:true
endtry
call assert_true(caught_exception)
bw!
endfunc
"-------------------------------------------------------------------------------
" Modelines {{{1
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker

View File

@@ -724,6 +724,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1695,
/**/
1694,
/**/