patch 8.2.4601: Vim9: not enough test coverage for executing :def function

Problem:    Vim9: not enough test coverage for executing :def function.
Solution:   Add a few more tests.
This commit is contained in:
Bram Moolenaar
2022-03-20 18:51:00 +00:00
parent 6b8c7ba062
commit efd73ae5d2
4 changed files with 23 additions and 0 deletions

View File

@@ -1660,6 +1660,8 @@ def Test_substitute_expr()
v9.CheckDefFailure(['s/from/\="x")/'], 'E488:')
v9.CheckDefFailure(['s/from/\="x"/9'], 'E488:')
v9.CheckDefExecFailure(['s/this/\="that"/'], 'E486:')
# When calling a function the right instruction list needs to be restored.
g:cond = true
var lines =<< trim END

View File

@@ -4085,6 +4085,19 @@ if has('lua')
EOF
assert_equal('val', g:d.key)
enddef
def Test_lua_heredoc_fails()
var lines = [
'vim9script',
'def ExeLua()',
'lua << trim EOLUA',
"x = vim.eval('g:nodict')",
'EOLUA',
'enddef',
'ExeLua()',
]
v9.CheckScriptFailure(lines, 'E121: Undefined variable: g:nodict')
enddef
endif

View File

@@ -2003,6 +2003,12 @@ def Test_for_loop()
endfor
assert_equal(6, total)
total = 0
for b in 0z010203
total += b
endfor
assert_equal(6, total)
var chars = ''
for s: string in 'foobar'
chars ..= s

View File

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