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:
zeertzjq
2023-04-17 23:27:04 +08:00
committed by GitHub
parent 07b60efd80
commit 9e5f9c25d9
2 changed files with 18 additions and 7 deletions

View File

@ -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);

View File

@ -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()