]> granicus.if.org Git - vim/commitdiff
patch 8.2.0332: some code in ex_getln.c not covered by tests v8.2.0332
authorBram Moolenaar <Bram@vim.org>
Sat, 29 Feb 2020 13:23:58 +0000 (14:23 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 29 Feb 2020 13:23:58 +0000 (14:23 +0100)
Problem:    Some code in ex_getln.c not covered by tests.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #5710)

src/testdir/test_arabic.vim
src/testdir/test_cmdline.vim
src/version.c

index b679ec45204b431f6c200b7b116689b41f8ffa97..272937387d4281b7337d8406f3e2522691fe8ef8 100644 (file)
@@ -562,3 +562,26 @@ func Test_shape_combination_isolated()
   set arabicshape&
   bwipe!
 endfunc
+
+" Test for entering arabic character in a search command
+func Test_arabic_chars_in_search_cmd()
+  new
+  set arabic
+  call feedkeys("i\nsghl!\<C-^>vim\<C-^>", 'tx')
+  call cursor(1, 1)
+  call feedkeys("/^sghl!\<C-^>vim$\<C-^>\<CR>", 'tx')
+  call assert_equal([2, 1], [line('.'), col('.')])
+
+  " Try searching in left-to-right mode
+  set rightleftcmd=
+  call cursor(1, 1)
+  call feedkeys("/^sghl!\<C-^>vim$\<CR>", 'tx')
+  call assert_equal([2, 1], [line('.'), col('.')])
+
+  set rightleftcmd&
+  set rightleft&
+  set arabic&
+  bwipe!
+endfunc
+
+" vim: shiftwidth=2 sts=2 expandtab
index f61d4aeab58854ed44f06b9ef26e7153187bde76..1baed7961f8cc031d7a2bc3b84bb24859446cee4 100644 (file)
@@ -473,9 +473,6 @@ func Test_cmdline_paste()
   endtry
   call assert_equal("Xtestfile", bufname("%"))
 
-  " Use an invalid expression for <C-\>e
-  call assert_beeps('call feedkeys(":\<C-\>einvalid\<CR>", "tx")')
-
   " Try to paste an invalid register using <C-R>
   call feedkeys(":\"one\<C-R>\<C-X>two\<CR>", 'xt')
   call assert_equal('"onetwo', @:)
@@ -1176,9 +1173,53 @@ func Test_interrupt_compl()
   set wildmode&
 endfunc
 
+" Test for moving the cursor on the : command line
 func Test_cmdline_edit()
-  call feedkeys(":\"buffer\<Right>\<Home>\<Left>\<CR>", 'xt')
-  call assert_equal("\"buffer", @:)
+  let str = ":one two\<C-U>"
+  let str ..= "one two\<C-W>\<C-W>"
+  let str ..= "\<Left>five\<Right>"
+  let str ..= "\<Home>two "
+  let str ..= "\<C-Left>one "
+  let str ..= "\<C-Right> three"
+  let str ..= "\<End>\<S-Left>four "
+  let str ..= "\<S-Right> six"
+  let str ..= "\<C-B>\"\<C-E> seven\<CR>"
+  call feedkeys(str, 'xt')
+  call assert_equal("\"one two three four five six seven", @:)
+endfunc
+
+" Test for moving the cursor on the / command line in 'rightleft' mode
+func Test_cmdline_edit_rightleft()
+  CheckFeature rightleft
+  set rightleft
+  set rightleftcmd=search
+  let str = "/one two\<C-U>"
+  let str ..= "one two\<C-W>\<C-W>"
+  let str ..= "\<Right>five\<Left>"
+  let str ..= "\<Home>two "
+  let str ..= "\<C-Right>one "
+  let str ..= "\<C-Left> three"
+  let str ..= "\<End>\<S-Right>four "
+  let str ..= "\<S-Left> six"
+  let str ..= "\<C-B>\"\<C-E> seven\<CR>"
+  call assert_fails("call feedkeys(str, 'xt')", 'E486:')
+  call assert_equal("\"one two three four five six seven", @/)
+  set rightleftcmd&
+  set rightleft&
+endfunc
+
+" Test for using <C-\>e in the command line to evaluate an expression
+func Test_cmdline_expr()
+  " Evaluate an expression from the beginning of a command line
+  call feedkeys(":abc\<C-B>\<C-\>e\"\\\"hello\"\<CR>\<CR>", 'xt')
+  call assert_equal('"hello', @:)
+
+  " Use an invalid expression for <C-\>e
+  call assert_beeps('call feedkeys(":\<C-\>einvalid\<CR>", "tx")')
+
+  " Insert literal <CTRL-\> in the command line
+  call feedkeys(":\"e \<C-\>\<C-Y>\<CR>", 'xt')
+  call assert_equal("\"e \<C-\>\<C-Y>", @:)
 endfunc
 
 " vim: shiftwidth=2 sts=2 expandtab
index c553f20a37309981bdd440e0bbb0d524704d1081..42b859aba36be76d459afd7b8a82f36d2ba7f763 100644 (file)
@@ -738,6 +738,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    332,
 /**/
     331,
 /**/