mirror of
https://github.com/neovim/neovim
synced 2025-07-16 01:01:49 +00:00
vim-patch:9.0.1460: insufficient testing for getcmdcompltype() (#23159)
Problem: Insufficient testing for getcmdcompltype().
Solution: Add a few more test cases. (closes vim/vim#12268)
961b2e54bd
This commit is contained in:
@ -4096,6 +4096,10 @@ static char *get_cmdline_completion(void)
|
||||
}
|
||||
|
||||
set_expand_context(p->xpc);
|
||||
if (p->xpc->xp_context == EXPAND_UNSUCCESSFUL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
char *cmd_compl = get_user_cmd_complete(p->xpc, p->xpc->xp_context);
|
||||
if (cmd_compl != NULL) {
|
||||
return xstrdup(cmd_compl);
|
||||
|
@ -3476,16 +3476,23 @@ func Test_cmdline_complete_bang_cmd_argument()
|
||||
call assert_equal('"!vim test_cmdline.vim', @:)
|
||||
endfunc
|
||||
|
||||
func Check_completion()
|
||||
call assert_equal('let a', getcmdline())
|
||||
call assert_equal(6, getcmdpos())
|
||||
call assert_equal(7, getcmdscreenpos())
|
||||
call assert_equal('var', getcmdcompltype())
|
||||
return ''
|
||||
func Call_cmd_funcs()
|
||||
return string([getcmdpos(), getcmdscreenpos(), getcmdcompltype()])
|
||||
endfunc
|
||||
|
||||
func Test_screenpos_and_completion()
|
||||
call feedkeys(":let a\<C-R>=Check_completion()\<CR>\<Esc>", "xt")
|
||||
call assert_equal(0, getcmdpos())
|
||||
call assert_equal(0, getcmdscreenpos())
|
||||
call assert_equal('', getcmdcompltype())
|
||||
|
||||
cnoremap <expr> <F2> string([getcmdpos(), getcmdscreenpos(), getcmdcompltype()])
|
||||
call feedkeys(":let a\<F2>\<C-B>\"\<CR>", "xt")
|
||||
call assert_equal("\"let a[6, 7, 'var']", @:)
|
||||
call feedkeys(":quit \<F2>\<C-B>\"\<CR>", "xt")
|
||||
call assert_equal("\"quit [6, 7, '']", @:)
|
||||
call feedkeys(":nosuchcommand \<F2>\<C-B>\"\<CR>", "xt")
|
||||
call assert_equal("\"nosuchcommand [15, 16, '']", @:)
|
||||
cunmap <F2>
|
||||
endfunc
|
||||
|
||||
func Test_recursive_register()
|
||||
|
Reference in New Issue
Block a user