mirror of
https://github.com/neovim/neovim.git
synced 2025-10-02 16:08:36 +00:00
vim-patch:8.2.0342: some code in ex_getln.c not covered by tests
Problem: Some code in ex_getln.c not covered by tests.
Solution: Add more tests. (Yegappan Lakshmanan, closes vim/vim#5717)
0546d7df13
Nvim doesn't support imsearch=2, commenting out that line is enough.
Test_Ex_append() is not applicable to Vim enhanced Ex mode.
Omit test_iminsert.vim as previous patches to that file are N/A.
This commit is contained in:
@@ -1558,6 +1558,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 "
|
||||
@@ -1576,6 +1577,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 "
|
||||
@@ -1603,6 +1605,39 @@ 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
|
||||
|
||||
" Test for normal mode commands not supported in the cmd window
|
||||
func Test_cmdwin_blocked_commands()
|
||||
call assert_fails('call feedkeys("q:\<C-T>\<CR>", "xt")', 'E11:')
|
||||
|
@@ -141,6 +141,16 @@ func Test_Ex_escape_enter()
|
||||
call assert_equal("a\rb", l)
|
||||
endfunc
|
||||
|
||||
" Test for :append! command in Ex mode
|
||||
func Test_Ex_append()
|
||||
throw 'Skipped: Nvim only supports Vim Ex mode'
|
||||
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
|
||||
|
||||
func Test_ex_mode_errors()
|
||||
" Not allowed to enter ex mode when text is locked
|
||||
au InsertCharPre <buffer> normal! gQ<CR>
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user