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/runtime/doc/testing.txt b/runtime/doc/testing.txt
index 15c5498..74b705c 100644
--- a/runtime/doc/testing.txt
+++ b/runtime/doc/testing.txt
@@ -291,8 +291,9 @@
catch
call assert_exception('E492:')
endtry
-
-assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()*
+<
+ *assert_fails()*
+assert_fails({cmd} [, {error} [, {msg} [, {lnum}]]])
Run {cmd} and add an error message to |v:errors| if it does
NOT produce an error or when {error} is not found in the
error message. Also see |assert-return|.
@@ -311,13 +312,21 @@
string for the first error: >
assert_fails('cmd', ['', 'E987:'])
<
+ If {msg} is empty then it is not used. Do this to get the
+ default message when passing the {lnum} argument.
+
+ When {lnum} is present and not negative, and the {error}
+ argument is present and matches, then this is compared with
+ the line number at which the error was reported. That can be
+ the line number in a function or in a script.
+
Note that beeping is not considered an error, and some failing
commands only beep. Use |assert_beeps()| for those.
Can also be used as a |method|: >
GetCmd()->assert_fails('E99:')
-assert_false({actual} [, {msg}]) *assert_false()*
+assert_false({actual} [, {msg}]) *assert_false()*
When {actual} is not false an error message is added to
|v:errors|, like with |assert_equal()|.
Also see |assert-return|.