changeset 10833:d66e5446cc48 v8.0.0306

patch 8.0.0306: mode() not sufficiently tested commit https://github.com/vim/vim/commit/e971df39a5aac5d9b7e8033247dc18b12daa0eb8 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Feb 5 14:15:29 2017 +0100 patch 8.0.0306: mode() not sufficiently tested Problem: mode() not sufficiently tested. Solution: Add more tests. (Yegappan Lakshmanan)
author Christian Brabandt <cb@256bit.org>
date Sun, 05 Feb 2017 14:30:04 +0100
parents 2ba168ecddac
children 63f95d6b8f60
files src/testdir/test_functions.vim src/version.c
diffstat 2 files changed, 36 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -320,39 +320,73 @@ func! Test_mode()
   normal! 3G
   exe "normal i\<F2>\<Esc>"
   call assert_equal('i-i', g:current_modes)
+  " i_CTRL-P: Multiple matches
   exe "normal i\<C-G>uBa\<C-P>\<F2>\<Esc>u"
   call assert_equal('i-ic', g:current_modes)
+  " i_CTRL-P: Single match
   exe "normal iBro\<C-P>\<F2>\<Esc>u"
   call assert_equal('i-ic', g:current_modes)
+  " i_CTRL-X
   exe "normal iBa\<C-X>\<F2>\<Esc>u"
   call assert_equal('i-ix', g:current_modes)
+  " i_CTRL-X CTRL-P: Multiple matches
   exe "normal iBa\<C-X>\<C-P>\<F2>\<Esc>u"
   call assert_equal('i-ic', g:current_modes)
+  " i_CTRL-X CTRL-P: Single match
   exe "normal iBro\<C-X>\<C-P>\<F2>\<Esc>u"
   call assert_equal('i-ic', g:current_modes)
+  " i_CTRL-X CTRL-P + CTRL-P: Single match
   exe "normal iBro\<C-X>\<C-P>\<C-P>\<F2>\<Esc>u"
   call assert_equal('i-ic', g:current_modes)
+  " i_CTRL-X CTRL-L: Multiple matches
+  exe "normal i\<C-X>\<C-L>\<F2>\<Esc>u"
+  call assert_equal('i-ic', g:current_modes)
+  " i_CTRL-X CTRL-L: Single match
+  exe "normal iBlu\<C-X>\<C-L>\<F2>\<Esc>u"
+  call assert_equal('i-ic', g:current_modes)
+  " i_CTRL-P: No match
   exe "normal iCom\<C-P>\<F2>\<Esc>u"
   call assert_equal('i-ic', g:current_modes)
+  " i_CTRL-X CTRL-P: No match
   exe "normal iCom\<C-X>\<C-P>\<F2>\<Esc>u"
   call assert_equal('i-ic', g:current_modes)
+  " i_CTRL-X CTRL-L: No match
+  exe "normal iabc\<C-X>\<C-L>\<F2>\<Esc>u"
+  call assert_equal('i-ic', g:current_modes)
 
+  " R_CTRL-P: Multiple matches
   exe "normal RBa\<C-P>\<F2>\<Esc>u"
   call assert_equal('R-Rc', g:current_modes)
+  " R_CTRL-P: Single match
   exe "normal RBro\<C-P>\<F2>\<Esc>u"
   call assert_equal('R-Rc', g:current_modes)
+  " R_CTRL-X
   exe "normal RBa\<C-X>\<F2>\<Esc>u"
   call assert_equal('R-Rx', g:current_modes)
+  " R_CTRL-X CTRL-P: Multiple matches
   exe "normal RBa\<C-X>\<C-P>\<F2>\<Esc>u"
   call assert_equal('R-Rc', g:current_modes)
+  " R_CTRL-X CTRL-P: Single match
   exe "normal RBro\<C-X>\<C-P>\<F2>\<Esc>u"
   call assert_equal('R-Rc', g:current_modes)
+  " R_CTRL-X CTRL-P + CTRL-P: Single match
   exe "normal RBro\<C-X>\<C-P>\<C-P>\<F2>\<Esc>u"
   call assert_equal('R-Rc', g:current_modes)
+  " R_CTRL-X CTRL-L: Multiple matches
+  exe "normal R\<C-X>\<C-L>\<F2>\<Esc>u"
+  call assert_equal('R-Rc', g:current_modes)
+  " R_CTRL-X CTRL-L: Single match
+  exe "normal RBlu\<C-X>\<C-L>\<F2>\<Esc>u"
+  call assert_equal('R-Rc', g:current_modes)
+  " R_CTRL-P: No match
   exe "normal RCom\<C-P>\<F2>\<Esc>u"
   call assert_equal('R-Rc', g:current_modes)
+  " R_CTRL-X CTRL-P: No match
   exe "normal RCom\<C-X>\<C-P>\<F2>\<Esc>u"
   call assert_equal('R-Rc', g:current_modes)
+  " R_CTRL-X CTRL-L: No match
+  exe "normal Rabc\<C-X>\<C-L>\<F2>\<Esc>u"
+  call assert_equal('R-Rc', g:current_modes)
 
   call assert_equal('n', mode(0))
   call assert_equal('n', mode(1))
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    306,
+/**/
     305,
 /**/
     304,