patch 8.2.0301: insufficient testing for exception handling
Problem: Insufficient testing for exception handling and the "attention"
prompt.
Solution: Add test cases. (Yegappan Lakshmanan, closes #5681)
diff --git a/src/testdir/test_swap.vim b/src/testdir/test_swap.vim
index 7ce35cc..cc452c3 100644
--- a/src/testdir/test_swap.vim
+++ b/src/testdir/test_swap.vim
@@ -1,6 +1,7 @@
" Tests for the swap feature
source shared.vim
+source term_util.vim
func s:swapname()
return trim(execute('swapname'))
@@ -349,4 +350,29 @@
augroup! test_swap_splitwin
endfunc
+" Test for selecting 'q' in the attention prompt
+func Test_swap_prompt_splitwin()
+ if !CanRunVimInTerminal()
+ throw 'Skipped: cannot run vim in terminal'
+ endif
+ call writefile(['foo bar'], 'Xfile1')
+ edit Xfile1
+ let buf = RunVimInTerminal('', {'rows': 20})
+ call term_sendkeys(buf, ":set nomore\n")
+ call term_sendkeys(buf, ":set noruler\n")
+ call term_sendkeys(buf, ":split Xfile1\n")
+ call term_wait(buf)
+ call WaitForAssert({-> assert_match('^\[O\]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort: $', term_getline(buf, 20))})
+ call term_sendkeys(buf, "q")
+ call term_wait(buf)
+ call term_sendkeys(buf, ":")
+ call WaitForAssert({-> assert_match('^:$', term_getline(buf, 20))})
+ call term_sendkeys(buf, "echomsg winnr('$')\<CR>")
+ call term_wait(buf)
+ call WaitForAssert({-> assert_match('^1$', term_getline(buf, 20))})
+ call StopVimInTerminal(buf)
+ %bwipe!
+ call delete('Xfile1')
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab