" Test for quitting Vim with unedited files in the argument list
func Test_quit_with_arglist()
CheckRunVimInTerminal
+
let buf = RunVimInTerminal('', {'rows': 6})
call term_sendkeys(buf, ":set nomore\n")
call term_sendkeys(buf, ":args a b c\n")
" Test for ":all" not working when in the cmdline window
func Test_all_not_allowed_from_cmdwin()
+ CheckFeature cmdwin
+ " TODO: why does this hang on Windows?
+ CheckNotMSWindows
+
au BufEnter * all
next x
- call assert_fails(":norm 7q?x\<CR>", 'E11:')
+ call assert_fails(":norm 7q?print\<CR>", 'E11:')
au! BufEnter
endfunc
endfunc
func Test_map_completion()
- CheckFeature cmdline_compl
call feedkeys(":map <unique> <si\<Tab>\<Home>\"\<CR>", 'xt')
call assert_equal('"map <unique> <silent>', getreg(':'))
call feedkeys(":map <script> <un\<Tab>\<Home>\"\<CR>", 'xt')
endfunc
func Test_match_completion()
- CheckFeature cmdline_compl
hi Aardig ctermfg=green
call feedkeys(":match \<Tab>\<Home>\"\<CR>", 'xt')
call assert_equal('"match Aardig', getreg(':'))
endfunc
func Test_highlight_completion()
- CheckFeature cmdline_compl
hi Aardig ctermfg=green
call feedkeys(":hi \<Tab>\<Home>\"\<CR>", 'xt')
call assert_equal('"hi Aardig', getreg(':'))
endfunc
func Test_getcompletion()
- CheckFeature cmdline_compl
let groupcount = len(getcompletion('', 'event'))
call assert_true(groupcount > 0)
let matchcount = len('File'->getcompletion('event'))
endfunc
func Test_getcmdwintype()
+ CheckFeature cmdwin
+
call feedkeys("q/:let a = getcmdwintype()\<CR>:q\<CR>", 'x!')
call assert_equal('/', a)
endfunc
func Test_getcmdwin_autocmd()
+ CheckFeature cmdwin
+
let s:seq = []
augroup CmdWin
au WinEnter * call add(s:seq, 'WinEnter ' .. win_getid())
endfunc
func Test_cmdwin_bug()
+ CheckFeature cmdwin
+
let winid = win_getid()
sp
try
endfunc
func Test_cmdwin_restore()
+ CheckFeature cmdwin
CheckScreendump
let lines =<< trim [SCRIPT]
endfunc
func Test_cmdwin_feedkeys()
+ CheckFeature cmdwin
+
" This should not generate E488
call feedkeys("q:\<CR>", 'x')
" Using feedkeys with q: only should automatically close the cmd window
" Tests for the issues fixed in 7.4.441.
" When 'cedit' is set to Ctrl-C, opening the command window hangs Vim
func Test_cmdwin_cedit()
+ CheckFeature cmdwin
+
exe "set cedit=\<C-c>"
normal! :
call assert_equal(1, winnr('$'))
" Test for CmdwinEnter autocmd
func Test_cmdwin_autocmd()
+ CheckFeature cmdwin
+
augroup CmdWin
au!
autocmd CmdwinEnter * startinsert
endfunc
func Test_cmdwin_jump_to_win()
+ CheckFeature cmdwin
+
call assert_fails('call feedkeys("q:\<C-W>\<C-W>\<CR>", "xt")', 'E11:')
new
set modified
endfunc
func Test_cmdwin_interrupted()
+ CheckFeature cmdwin
CheckScreendump
" aborting the :smile output caused the cmdline window to use the current
" Test for recursively getting multiple command line inputs
func Test_cmdwin_multi_input()
+ CheckFeature cmdwin
+
call feedkeys(":\<C-R>=input('P: ')\<CR>\"cyan\<CR>\<CR>", 'xt')
call assert_equal('"cyan', @:)
endfunc
" Test for normal mode commands not supported in the cmd window
func Test_cmdwin_blocked_commands()
+ CheckFeature cmdwin
+
call assert_fails('call feedkeys("q:\<C-T>\<CR>", "xt")', 'E11:')
call assert_fails('call feedkeys("q:\<C-]>\<CR>", "xt")', 'E11:')
call assert_fails('call feedkeys("q:\<C-^>\<CR>", "xt")', 'E11:')
" Close the Cmd-line window in insert mode using CTRL-C
func Test_cmdwin_insert_mode_close()
+ CheckFeature cmdwin
+
%bw!
let s = ''
exe "normal q:a\<C-C>let s='Hello'\<CR>"