diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-03-01 16:53:09 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-03-01 16:53:09 +0100 |
commit | 0546d7df13b041833121b2d56036e1c62ea3b0c1 (patch) | |
tree | 7cd0a13998c53f0d310c8d6478cb19a2ae628dc6 | |
parent | 41fe061753923986e6676424132960d970bb2a76 (diff) | |
download | vim-git-0546d7df13b041833121b2d56036e1c62ea3b0c1.tar.gz |
patch 8.2.0342: some code in ex_getln.c not covered by testsv8.2.0342
Problem: Some code in ex_getln.c not covered by tests.
Solution: Add more tests. (Yegappan Lakshmanan, closes #5717)
-rw-r--r-- | src/testdir/test_cmdline.vim | 35 | ||||
-rw-r--r-- | src/testdir/test_ex_mode.vim | 11 | ||||
-rw-r--r-- | src/testdir/test_history.vim | 11 | ||||
-rw-r--r-- | src/testdir/test_iminsert.vim | 2 | ||||
-rw-r--r-- | src/version.c | 2 |
5 files changed, 60 insertions, 1 deletions
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim index 8c580262a..c32a3f03e 100644 --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -1188,6 +1188,7 @@ endfunc func Test_cmdline_edit() let str = ":one two\<C-U>" let str ..= "one two\<C-W>\<C-W>" + let str ..= "one\<BS>\<C-H>\<Del>" let str ..= "\<Left>five\<Right>" let str ..= "\<Home>two " let str ..= "\<C-Left>one " @@ -1206,6 +1207,7 @@ func Test_cmdline_edit_rightleft() set rightleftcmd=search let str = "/one two\<C-U>" let str ..= "one two\<C-W>\<C-W>" + let str ..= "one\<BS>\<C-H>\<Del>" let str ..= "\<Right>five\<Left>" let str ..= "\<Home>two " let str ..= "\<C-Right>one " @@ -1233,4 +1235,37 @@ func Test_cmdline_expr() call assert_equal("\"e \<C-\>\<C-Y>", @:) endfunc +" Test for 'imcmdline' and 'imsearch' +" This test doesn't actually test the input method functionality. +func Test_cmdline_inputmethod() + new + call setline(1, ['', 'abc', '']) + set imcmdline + + call feedkeys(":\"abc\<CR>", 'xt') + call assert_equal("\"abc", @:) + call feedkeys(":\"\<C-^>abc\<C-^>\<CR>", 'xt') + call assert_equal("\"abc", @:) + call feedkeys("/abc\<CR>", 'xt') + call assert_equal([2, 1], [line('.'), col('.')]) + call feedkeys("/\<C-^>abc\<C-^>\<CR>", 'xt') + call assert_equal([2, 1], [line('.'), col('.')]) + + set imsearch=2 + call cursor(1, 1) + call feedkeys("/abc\<CR>", 'xt') + call assert_equal([2, 1], [line('.'), col('.')]) + call cursor(1, 1) + call feedkeys("/\<C-^>abc\<C-^>\<CR>", 'xt') + call assert_equal([2, 1], [line('.'), col('.')]) + set imdisable + call feedkeys("/\<C-^>abc\<C-^>\<CR>", 'xt') + call assert_equal([2, 1], [line('.'), col('.')]) + set imdisable& + set imsearch& + + set imcmdline& + %bwipe! +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/testdir/test_ex_mode.vim b/src/testdir/test_ex_mode.vim index 91ba012e1..e88bdf530 100644 --- a/src/testdir/test_ex_mode.vim +++ b/src/testdir/test_ex_mode.vim @@ -49,6 +49,8 @@ func Test_ex_mode() call assert_equal([' foo', ' foo'], Ex(" foo\<C-d>"), e) call assert_equal(['foo', ' foo0'], Ex(" foo0\<C-d>"), e) call assert_equal(['foo', ' foo^'], Ex(" foo^\<C-d>"), e) + call assert_equal(['foo', 'foo'], + \ Ex("\<BS>\<C-H>\<Del>foo"), e) endfor set sw& @@ -128,4 +130,13 @@ func Test_Ex_escape_enter() call assert_equal("a\rb", l) endfunc +" Test for :append! command in Ex mode +func Test_Ex_append() + new + call setline(1, "\t abc") + call feedkeys("Qappend!\npqr\nxyz\n.\nvisual\n", 'xt') + call assert_equal(["\t abc", "\t pqr", "\t xyz"], getline(1, '$')) + close! +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/testdir/test_history.vim b/src/testdir/test_history.vim index 96006ac7e..0312b5f57 100644 --- a/src/testdir/test_history.vim +++ b/src/testdir/test_history.vim @@ -114,6 +114,7 @@ function Test_Search_history_window() bwipe! endfunc +" Test for :history command option completion function Test_history_completion() call feedkeys(":history \<C-A>\<C-B>\"\<CR>", 'tx') call assert_equal('"history / : = > ? @ all cmd debug expr input search', @:) @@ -122,8 +123,9 @@ endfunc " Test for increasing the 'history' option value func Test_history_size() let save_histsz = &history - call histdel(':') set history=10 + call histadd(':', 'ls') + call histdel(':') for i in range(1, 5) call histadd(':', 'cmd' .. i) endfor @@ -173,6 +175,13 @@ func Test_history_search() call assert_equal(['pat2', 'pat1', ''], g:pat) cunmap <F2> delfunc SavePat + + " Recall patterns with 'history' set to 0 + set history=0 + let @/ = 'abc' + let cmd = 'call feedkeys("/\<Up>\<Down>\<S-Up>\<S-Down>\<CR>", "xt")' + call assert_fails(cmd, 'E486:') + set history& endfunc " Test for making sure the key value is not stored in history diff --git a/src/testdir/test_iminsert.vim b/src/testdir/test_iminsert.vim index fb2ef053b..1880662af 100644 --- a/src/testdir/test_iminsert.vim +++ b/src/testdir/test_iminsert.vim @@ -62,3 +62,5 @@ func Test_getimstatus() set imactivatefunc= set imstatusfunc= endfunc + +" vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c index d927b4e8c..6ecd281ac 100644 --- a/src/version.c +++ b/src/version.c @@ -739,6 +739,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 342, +/**/ 341, /**/ 340, |