summaryrefslogtreecommitdiff
path: root/src/testdir/test_assert.vim
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-11-10 13:21:34 +0000
committerBram Moolenaar <Bram@vim.org>2022-11-10 13:21:34 +0000
commit7265851b2b4e5a63c0a02a9057dee237502ee557 (patch)
tree1b7a1506e05a444a9f02834b6d77e87153f984fd /src/testdir/test_assert.vim
parent98aebcc2c6f4b131d2098ebc60c4a552a5163aec (diff)
downloadvim-git-7265851b2b4e5a63c0a02a9057dee237502ee557.tar.gz
patch 9.0.0854: no proper test for what 9.0.0846 fixesv9.0.0854
Problem: No proper test for what 9.0.0846 fixes. Solution: Run test in a terminal so that the hit-enter prompt can show up. (closes #11523)
Diffstat (limited to 'src/testdir/test_assert.vim')
-rw-r--r--src/testdir/test_assert.vim20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/testdir/test_assert.vim b/src/testdir/test_assert.vim
index 42dd6a9d6..8222d0c06 100644
--- a/src/testdir/test_assert.vim
+++ b/src/testdir/test_assert.vim
@@ -1,5 +1,8 @@
" Test that the methods used for testing work.
+source check.vim
+source term_util.vim
+
func Test_assert_false()
call assert_equal(0, assert_false(0))
call assert_equal(0, assert_false(v:false))
@@ -338,10 +341,21 @@ func Test_assert_fails_in_try_block()
endtry
endfunc
+" Test that assert_fails() in a timer does not cause a hit-enter prompt.
+" Requires using a terminal, in regular tests the hit-enter prompt won't be
+" triggered.
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
+ CheckRunVimInTerminal
+
+ let buf = RunVimInTerminal('', {'rows': 6})
+ let cmd = ":call timer_start(0, {-> assert_fails('call', 'E471:')})"
+ call term_sendkeys(buf, cmd)
+ call WaitForAssert({-> assert_equal(cmd, term_getline(buf, 6))})
+ call term_sendkeys(buf, "\<CR>")
+ call TermWait(buf, 100)
+ call assert_match('E471: Argument required', term_getline(buf, 6))
+
+ call StopVimInTerminal(buf)
endfunc
func Test_assert_beeps()