aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-05-05 12:53:39 +0800
committerzeertzjq <zeertzjq@outlook.com>2023-05-05 19:43:13 +0800
commit49a2bb91170f49101fa67b0cf4cbfec5885edcf4 (patch)
treefe1f4d0f39b63445695183d2d304d3bed998fb9f
parent050b24cbccbe6e08f31fd33a854b91f7e8920834 (diff)
downloadrneovim-49a2bb91170f49101fa67b0cf4cbfec5885edcf4.tar.gz
rneovim-49a2bb91170f49101fa67b0cf4cbfec5885edcf4.tar.bz2
rneovim-49a2bb91170f49101fa67b0cf4cbfec5885edcf4.zip
vim-patch:9.0.0846: using assert_fails() may cause hit-enter prompt
Problem: Using assert_fails() may cause hit-enter prompt. Solution: Set no_wait_return. (closes vim/vim#11522) https://github.com/vim/vim/commit/f220643c260d55d21a841a3c4032daadc41bc50b Co-authored-by: Bram Moolenaar <Bram@vim.org>
-rw-r--r--src/nvim/testing.c3
-rw-r--r--test/old/testdir/test_assert.vim6
2 files changed, 7 insertions, 2 deletions
diff --git a/src/nvim/testing.c b/src/nvim/testing.c
index 92747822b4..d9c376dd6a 100644
--- a/src/nvim/testing.c
+++ b/src/nvim/testing.c
@@ -522,14 +522,13 @@ void f_assert_fails(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
return;
}
- const char *const cmd = tv_get_string_chk(&argvars[0]);
-
// trylevel must be zero for a ":throw" command to be considered failed
trylevel = 0;
suppress_errthrow = true;
in_assert_fails = true;
no_wait_return++;
+ const char *const cmd = tv_get_string_chk(&argvars[0]);
do_cmdline_cmd(cmd);
// reset here for any errors reported below
diff --git a/test/old/testdir/test_assert.vim b/test/old/testdir/test_assert.vim
index 9b65e36e16..e20084515e 100644
--- a/test/old/testdir/test_assert.vim
+++ b/test/old/testdir/test_assert.vim
@@ -327,6 +327,12 @@ func Test_assert_fails_in_try_block()
endtry
endfunc
+func Test_assert_fails_in_timer()
+ " should not cause a hit-enter prompt, which isn't actually checked here
+ call timer_start(0, {-> assert_fails('call', 'E471:')})
+ sleep 10m
+endfunc
+
func Test_assert_beeps()
new
call assert_equal(0, assert_beeps('normal h'))