diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-11-05 07:24:06 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2022-11-05 12:27:45 +0800 |
commit | 8b0c5de4e0964109326a0befb1b3bff6aac4d0db (patch) | |
tree | 5cfde30567039d246c8b4fd960ccd2f07ed090fc /runtime | |
parent | a86295cd5c2bf15a11eb05e226fd8e226154f6a6 (diff) | |
download | rneovim-8b0c5de4e0964109326a0befb1b3bff6aac4d0db.tar.gz rneovim-8b0c5de4e0964109326a0befb1b3bff6aac4d0db.tar.bz2 rneovim-8b0c5de4e0964109326a0befb1b3bff6aac4d0db.zip |
vim-patch:partial:8.2.1183: assert_fails() checks the last error message
Problem: assert_fails() checks the last error message.
Solution: Check the first error, it is more relevant. Fix all the tests
that rely on the old behavior.
https://github.com/vim/vim/commit/9b7bf9e98f06ece595fed7a3ff53ecce89797a53
Skip test_listener.vim, test_textprop.vim, test_viminfo.vim.
Skip test_python2.vim: affected line fails and hasn't been ported.
Skip test_python3.vim: affected lines fail and haven't been ported.
Skip CHECK_LIST_MATERIALIZE.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/doc/testing.txt | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/runtime/doc/testing.txt b/runtime/doc/testing.txt index f4375c3363..eda4ae1a5e 100644 --- a/runtime/doc/testing.txt +++ b/runtime/doc/testing.txt @@ -101,8 +101,23 @@ assert_exception({error} [, {msg}]) *assert_exception()* assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()* Run {cmd} and add an error message to |v:errors| if it does - NOT produce an error. Also see |assert-return|. - When {error} is given it must match in |v:errmsg|. + NOT produce an error or when {error} is not found in the + error message. Also see |assert-return|. + + When {error} is a string it must be found literally in the + first reported error. Most often this will be the error code, + including the colon, e.g. "E123:". > + assert_fails('bad cmd', 'E987:') +< + When {error} is a |List| with one or two strings, these are + used as patterns. The first pattern is matched against the + first reported error: > + assert_fails('cmd', ['E987:.*expected bool']) +< The second pattern, if present, is matched against the last + reported error. To only match the last error use an empty + string for the first error: > + assert_fails('cmd', ['', 'E987:']) +< Note that beeping is not considered an error, and some failing commands only beep. Use |assert_beeps()| for those. |