]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.2.0198: no tests for y/n prompt v8.2.0198
authorBram Moolenaar <Bram@vim.org>
Sun, 2 Feb 2020 14:55:19 +0000 (15:55 +0100)
committerBram Moolenaar <Bram@vim.org>
Sun, 2 Feb 2020 14:55:19 +0000 (15:55 +0100)
Problem:    No tests for y/n prompt.
Solution:   Add tests. (Dominique Pelle, closes #5564)

src/testdir/test_messages.vim
src/version.c

index 62a191ec8dc72c197c53d1b25cb76f08e80ffe78..2f8e2faf9017c8f6f0daaef67b2a535666eee600 100644 (file)
@@ -265,7 +265,37 @@ func Test_message_more()
   call term_sendkeys(buf, 'q')
   call WaitForAssert({-> assert_equal('100', term_getline(buf, 5))})
 
-  call term_sendkeys(buf, ':q!')
+  call term_sendkeys(buf, ":q!\n")
+  call StopVimInTerminal(buf)
+endfunc
+
+func Test_ask_yesno()
+  if !CanRunVimInTerminal()
+    throw 'Skipped: cannot run vim in terminal'
+  endif
+  let buf = RunVimInTerminal('', {'rows': 6})
+  call term_sendkeys(buf, ":call setline(1, range(1, 2))\n")
+
+  call term_sendkeys(buf, ":2,1s/^/n/\n")
+  call WaitForAssert({-> assert_equal('Backwards range given, OK to swap (y/n)?', term_getline(buf, 6))})
+  call term_sendkeys(buf, "n")
+  call WaitForAssert({-> assert_match('^Backwards range given, OK to swap (y/n)?n *1,1 *All$', term_getline(buf, 6))})
+  call WaitForAssert({-> assert_equal('1', term_getline(buf, 1))})
+
+  call term_sendkeys(buf, ":2,1s/^/Esc/\n")
+  call WaitForAssert({-> assert_equal('Backwards range given, OK to swap (y/n)?', term_getline(buf, 6))})
+  call term_sendkeys(buf, "\<Esc>")
+  call WaitForAssert({-> assert_match('^Backwards range given, OK to swap (y/n)?n *1,1 *All$', term_getline(buf, 6))})
+  call WaitForAssert({-> assert_equal('1', term_getline(buf, 1))})
+
+  call term_sendkeys(buf, ":2,1s/^/y/\n")
+  call WaitForAssert({-> assert_equal('Backwards range given, OK to swap (y/n)?', term_getline(buf, 6))})
+  call term_sendkeys(buf, "y")
+  call WaitForAssert({-> assert_match('^Backwards range given, OK to swap (y/n)?y *2,1 *All$', term_getline(buf, 6))})
+  call WaitForAssert({-> assert_equal('y1', term_getline(buf, 1))})
+  call WaitForAssert({-> assert_equal('y2', term_getline(buf, 2))})
+
+  call term_sendkeys(buf, ":q!\n")
   call StopVimInTerminal(buf)
 endfunc
 
index 800d7e56971062de9ddd2b73b2294b002d337ef5..59db0095ef66d0396ee8d27442a255a5d6c5ea5f 100644 (file)
@@ -742,6 +742,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    198,
 /**/
     197,
 /**/