patch 8.2.1479: Vim9: error for list index uses wrong line number
Problem: Vim9: error for list index uses wrong line number.
Solution: Set source line number. (closes #6724) Add a way to assert the
line number of the error with assert_fails().
diff --git a/src/testdir/vim9.vim b/src/testdir/vim9.vim
index 448aa3d..c890b0c 100644
--- a/src/testdir/vim9.vim
+++ b/src/testdir/vim9.vim
@@ -9,17 +9,19 @@
endfunc
" Check that "lines" inside ":def" results in an "error" message.
-func CheckDefFailure(lines, error)
+" If "lnum" is given check that the error is reported for this line.
+func CheckDefFailure(lines, error, lnum = -1)
call writefile(['def Func()'] + a:lines + ['enddef', 'defcompile'], 'Xdef')
- call assert_fails('so Xdef', a:error, a:lines)
+ call assert_fails('so Xdef', a:error, a:lines, a:lnum)
call delete('Xdef')
endfunc
" Check that "lines" inside ":def" results in an "error" message when executed.
-func CheckDefExecFailure(lines, error)
+" If "lnum" is given check that the error is reported for this line.
+func CheckDefExecFailure(lines, error, lnum = -1)
call writefile(['def Func()'] + a:lines + ['enddef'], 'Xdef')
so Xdef
- call assert_fails('call Func()', a:error, a:lines)
+ call assert_fails('call Func()', a:error, a:lines, a:lnum)
call delete('Xdef')
endfunc