aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorglepnir <glephunter@gmail.com>2024-10-03 17:58:15 +0800
committerGitHub <noreply@github.com>2024-10-03 09:58:15 +0000
commitcc300e553b458e08c4b1d4be117ee51a289cbdee (patch)
tree856f7cdc2bbe25bbc43393f060d61acad9491be0 /test
parentae0e4071a8c90f96a66efc07f421fa7bf15f27f6 (diff)
downloadrneovim-cc300e553b458e08c4b1d4be117ee51a289cbdee.tar.gz
rneovim-cc300e553b458e08c4b1d4be117ee51a289cbdee.tar.bz2
rneovim-cc300e553b458e08c4b1d4be117ee51a289cbdee.zip
vim-patch:9.1.0756: missing change from patch v9.1.0754 (#30636)
Problem: missing change from patch v9.1.0754 Solution: use correct width for the actual item in pum_redraw() (glepnir) closes: vim/vim#15786 https://github.com/vim/vim/commit/a6d9e3c4e07f73f6523699961d8b7b54bdb80cf6
Diffstat (limited to 'test')
-rw-r--r--test/functional/ui/popupmenu_spec.lua25
-rw-r--r--test/old/testdir/test_popup.vim16
2 files changed, 40 insertions, 1 deletions
diff --git a/test/functional/ui/popupmenu_spec.lua b/test/functional/ui/popupmenu_spec.lua
index e2f7e31c6c..f84362ede8 100644
--- a/test/functional/ui/popupmenu_spec.lua
+++ b/test/functional/ui/popupmenu_spec.lua
@@ -5077,6 +5077,17 @@ describe('builtin popupmenu', function()
\ { 'word': '你好', 'kind': 'C', 'menu': '中文' },
\]}
endfunc
+
+ func Omni_long(findstart, base)
+ if a:findstart
+ return col(".")
+ endif
+ return {
+ \ 'words': [
+ \ { 'word': 'loooong_foo', 'kind': 'S', 'menu': 'menu' },
+ \ { 'word': 'loooong_bar', 'kind': 'T', 'menu': 'menu' },
+ \]}
+ endfunc
set omnifunc=Omni_test
]])
-- T1
@@ -5162,6 +5173,20 @@ describe('builtin popupmenu', function()
{1:~ }|*10
{2:-- }{5:match 1 of 3} |
]])
+ feed('<C-E><ESC>')
+
+ -- Test_pum_completeitemalign_07
+ command('set cia=menu,kind,abbr columns=12 cmdheight=2 omnifunc=Omni_long')
+ feed('S<C-X><C-O>')
+ screen:expect([[
+ loooong_foo^ |
+ {s:menu S loooo}|
+ {n:menu T loooo}|
+ {1:~ }|*10
+ |
+ {2:--} |
+ ]])
+ feed('<C-E><ESC>')
end)
end
end
diff --git a/test/old/testdir/test_popup.vim b/test/old/testdir/test_popup.vim
index f9c6d2eedd..472882fb87 100644
--- a/test/old/testdir/test_popup.vim
+++ b/test/old/testdir/test_popup.vim
@@ -1597,6 +1597,17 @@ func Test_pum_completeitemalign()
\ { 'word': '你好', 'kind': 'C', 'menu': '中文' },
\]}
endfunc
+
+ func Omni_long(findstart, base)
+ if a:findstart
+ return col(".")
+ endif
+ return {
+ \ 'words': [
+ \ { 'word': 'loooong_foo', 'kind': 'S', 'menu': 'menu' },
+ \ { 'word': 'loooong_bar', 'kind': 'T', 'menu': 'menu' },
+ \]}
+ endfunc
set omnifunc=Omni_test
command! -nargs=0 T1 set cia=abbr,kind,menu
command! -nargs=0 T2 set cia=abbr,menu,kind
@@ -1638,8 +1649,11 @@ func Test_pum_completeitemalign()
" T6
call term_sendkeys(buf, ":T6\<CR>S\<C-X>\<C-O>")
call VerifyScreenDump(buf, 'Test_pum_completeitemalign_06', {})
- call term_sendkeys(buf, "\<C-E>\<Esc>:T7\<CR>")
+ call term_sendkeys(buf, "\<C-E>\<Esc>")
+ call term_sendkeys(buf, ":set columns=12 cmdheight=2 omnifunc=Omni_long\<CR>S\<C-X>\<C-O>")
+ call VerifyScreenDump(buf, 'Test_pum_completeitemalign_07', {})
+ call term_sendkeys(buf, "\<C-E>\<Esc>:T7\<CR>")
call StopVimInTerminal(buf)
endfunc