mirror of
https://github.com/neovim/neovim.git
synced 2025-09-05 19:08:15 +00:00
vim-patch:9.1.1265: tests: no tests for typing normal char during completion (#33239)
Problem: tests: no tests for typing normal char during completion
Solution: add a test verifying the default behaviour (see :h
popupmenu-completion)
related: vim/vim#17019
71f17fdd5f
Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Girish Palya <girishji@gmail.com>
This commit is contained in:
@@ -3420,4 +3420,33 @@ func Test_complete_multiline_marks()
|
||||
delfunc Omni_test
|
||||
endfunc
|
||||
|
||||
func Test_complete_append_selected_match_default()
|
||||
" when typing a normal character during completion,
|
||||
" completion is ended, see
|
||||
" :h popupmenu-completion ("There are three states:")
|
||||
func PrintMenuWords()
|
||||
let info = complete_info(["selected", "matches"])
|
||||
call map(info.matches, {_, v -> v.word})
|
||||
return info
|
||||
endfunc
|
||||
|
||||
new
|
||||
call setline(1, ["fo", "foo", "foobar", "fobarbaz"])
|
||||
exe "normal! Gof\<c-n>\<c-r>=PrintMenuWords()\<cr>"
|
||||
call assert_equal('fo{''matches'': [''fo'', ''foo'', ''foobar'', ''fobarbaz''], ''selected'': 0}', getline(5))
|
||||
%d
|
||||
call setline(1, ["fo", "foo", "foobar", "fobarbaz"])
|
||||
exe "normal! Gof\<c-n>o\<c-r>=PrintMenuWords()\<cr>"
|
||||
call assert_equal('foo{''matches'': [], ''selected'': -1}', getline(5))
|
||||
%d
|
||||
set completeopt=menu,noselect
|
||||
call setline(1, ["fo", "foo", "foobar", "fobarbaz"])
|
||||
exe "normal! Gof\<c-n>\<c-n>o\<c-r>=PrintMenuWords()\<cr>"
|
||||
call assert_equal('foo{''matches'': [], ''selected'': -1}', getline(5))
|
||||
bw!
|
||||
|
||||
set completeopt&
|
||||
delfunc PrintMenuWords
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab nofoldenable
|
||||
|
Reference in New Issue
Block a user