patch 9.1.1695: Need more Vim script specific tests
Commit:
https://github.com/vim/vim/commit/e810ba5a1f6f256d2631b880641c0d7ce4d04ca5
Author: Yegappan Lakshmanan <[email protected]>
Date: Tue Aug 26 21:32:46 2025 +0200
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 <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index f5e23e8eb..8726ee483 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -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
diff --git a/src/testdir/test_vimscript.vim b/src/testdir/test_vimscript.vim
index e1b0425ee..bf5a875f1 100644
--- a/src/testdir/test_vimscript.vim
+++ b/src/testdir/test_vimscript.vim
@@ -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("
"))
+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
diff --git a/src/version.c b/src/version.c
index a28eef78f..0a90f015c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -724,6 +724,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1695,
/**/
1694,
/**/
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/vim_dev/E1uqzbM-003r3M-Mj%40256bit.org.