Commit: patch 9.1.1265: tests: no tests for typing normal char during completion

2 views
Skip to first unread message

Christian Brabandt

unread,
Mar 31, 2025, 3:00:14 PM3/31/25
to vim...@googlegroups.com
patch 9.1.1265: tests: no tests for typing normal char during completion

Commit: https://github.com/vim/vim/commit/71f17fdd5f7bb05d78876b4db297824054377363
Author: Christian Brabandt <c...@256bit.org>
Date: Mon Mar 31 20:57:13 2025 +0200

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 <giri...@gmail.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim
index 7b180a64e..50b183469 100644
--- a/src/testdir/test_ins_complete.vim
+++ b/src/testdir/test_ins_complete.vim
@@ -3387,4 +3387,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
diff --git a/src/version.c b/src/version.c
index 67affb2e1..50632747b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1265,
/**/
1264,
/**/
Reply all
Reply to author
Forward
0 new messages