diff --git a/test/functional/legacy/cmdline_spec.lua b/test/functional/legacy/cmdline_spec.lua index cfaafa3695..6495239208 100644 --- a/test/functional/legacy/cmdline_spec.lua +++ b/test/functional/legacy/cmdline_spec.lua @@ -326,6 +326,37 @@ describe('cmdline', function() ]]) end) + -- oldtest: Test_wildmenu_with_pum_foldexpr() + it('pum when using &foldtext', function() + local screen = Screen.new(60, 10) + exec([[ + call setline(1, ['folded one', 'folded two', 'some more text']) + func MyFoldText() + return 'foo' + endfunc + set foldtext=MyFoldText() wildoptions=pum + normal ggzfj + ]]) + feed(':set') + screen:expect([[ + {13:foo·························································}| + some more text | + {1:~ }|*3 + {12: set }{1: }| + {4: setfiletype }{1: }| + {4: setglobal }{1: }| + {4: setlocal }{1: }| + :set^ | + ]]) + feed('') + screen:expect([[ + {13:^foo·························································}| + some more text | + {1:~ }|*7 + | + ]]) + end) + -- oldtest: Test_rulerformat_position() it("ruler has correct position with 'rulerformat' set", function() local screen = Screen.new(20, 3) diff --git a/test/old/testdir/test_cmdline.vim b/test/old/testdir/test_cmdline.vim index 53663cf27a..7f9c873e80 100644 --- a/test/old/testdir/test_cmdline.vim +++ b/test/old/testdir/test_cmdline.vim @@ -3201,6 +3201,29 @@ func Test_wildmenumode_with_pum() cunmap endfunc +func Test_wildmenu_with_pum_foldexpr() + CheckRunVimInTerminal + + let lines =<< trim END + call setline(1, ['folded one', 'folded two', 'some more text']) + func MyFoldText() + return 'foo' + endfunc + set foldtext=MyFoldText() wildoptions=pum + normal ggzfj + END + call writefile(lines, 'Xpumfold') + let buf = RunVimInTerminal('-S Xpumfold', #{rows: 10}) + call term_sendkeys(buf, ":set\") + call VerifyScreenDump(buf, 'Test_wildmenu_with_pum_foldexpr_1', {}) + + call term_sendkeys(buf, "\") + call VerifyScreenDump(buf, 'Test_wildmenu_with_pum_foldexpr_2', {}) + + call StopVimInTerminal(buf) + call delete('Xpumfold') +endfunc + " Test for opening the cmdline completion popup menu from the terminal window. " The popup menu should be positioned correctly over the status line of the " bottom-most window.