patch 9.1.1265: tests: no tests for typing normal char during completion
Problem: tests: no tests for typing normal char during completion
Solution: add a test verifying the default behaviour (see :h
popupmenu-completion)
related: #17019
Co-authored-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim
index 7b180a6..50b1834 100644
--- a/src/testdir/test_ins_complete.vim
+++ b/src/testdir/test_ins_complete.vim
@@ -3387,4 +3387,33 @@
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
diff --git a/src/version.c b/src/version.c
index 67affb2..5063274 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1265,
+/**/
1264,
/**/
1263,