From: Bram Moolenaar Date: Sun, 1 Nov 2020 19:04:57 +0000 (+0100) Subject: patch 8.2.1937: Vim9: test for confirm modifier fails in some situations X-Git-Tag: v8.2.1937 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=645cd3eb1fae784579fab11feea634bfaff9af49;p=vim patch 8.2.1937: Vim9: test for confirm modifier fails in some situations Problem: Vim9: test for confirm modifier fails in some situations. Solution: Add a short wait. Handle failure better. --- diff --git a/src/testdir/term_util.vim b/src/testdir/term_util.vim index 53735c8d3..c2a2c350c 100644 --- a/src/testdir/term_util.vim +++ b/src/testdir/term_util.vim @@ -147,8 +147,13 @@ func StopVimInTerminal(buf) " Wait for all the pending updates to terminal to complete call TermWait(a:buf) + " Wait for the terminal to end. call WaitForAssert({-> assert_equal("finished", term_getstatus(a:buf))}) - only! + + " If the buffer still exists forcefully wipe it. + if bufexists(a:buf) + exe a:buf .. 'bwipe!' + endif endfunc " Open a terminal with a shell, assign the job to g:job and return the buffer diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim index a355af14f..a87d9b25a 100644 --- a/src/testdir/test_vim9_cmd.vim +++ b/src/testdir/test_vim9_cmd.vim @@ -392,10 +392,14 @@ func Test_command_modifier_confirm() call term_sendkeys(buf, ":call Getout()\n") call WaitForAssert({-> assert_match('(Y)es, \[N\]o: ', term_getline(buf, 8))}, 1000) call term_sendkeys(buf, "y") + call WaitForAssert({-> assert_match('(Y)es, \[N\]o: ', term_getline(buf, 8))}, 1000) + call term_sendkeys(buf, "\") + call TermWait(buf) call StopVimInTerminal(buf) call assert_equal(['changed'], readfile('Xfile')) call delete('Xfile') + call delete('.Xfile.swp') " in case Vim was killed call delete('Xconfirmscript') endfunc diff --git a/src/version.c b/src/version.c index 82bb09de7..65050b9a3 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1937, /**/ 1936, /**/