diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-04-28 05:50:08 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2023-04-28 05:56:47 +0800 |
commit | aca226d728418e791b897a908631d52aa24157fe (patch) | |
tree | 4ebb0cab3b8af3899ef4cdd0325598e6dab1b020 | |
parent | fbaa2787736173e417a93b958a9ca61e888e567d (diff) | |
download | rneovim-aca226d728418e791b897a908631d52aa24157fe.tar.gz rneovim-aca226d728418e791b897a908631d52aa24157fe.tar.bz2 rneovim-aca226d728418e791b897a908631d52aa24157fe.zip |
vim-patch:9.0.1493: popup menu position wrong in window with toolbar
Problem: Popup menu position wrong in window with toolbar.
Solution: Take the window toolbar into account when positioning the popup
menu. (closes vim/vim#12308)
https://github.com/vim/vim/commit/4e1ca0d9a6c6d66987da67155e97f83f286ffbcc
Fixed in the previous commit. Test only.
-rw-r--r-- | test/functional/ui/popupmenu_spec.lua | 28 | ||||
-rw-r--r-- | test/old/testdir/test_popup.vim | 17 |
2 files changed, 40 insertions, 5 deletions
diff --git a/test/functional/ui/popupmenu_spec.lua b/test/functional/ui/popupmenu_spec.lua index c5e0c10a81..0b71e12b6f 100644 --- a/test/functional/ui/popupmenu_spec.lua +++ b/test/functional/ui/popupmenu_spec.lua @@ -4508,6 +4508,34 @@ describe('builtin popupmenu', function() {1:~ }| pasted | ]]) + + -- Add a window toolbar to the window and check the :popup menu position. + command('setlocal winbar=TEST') + feed('/X<CR>:popup PopUp<CR>') + screen:expect([[ + {2:TEST }| + one two three four five | + and one two {7:^X}three four five | + one more tw{n: Undo } | + {1:~ }{n: }{1: }| + {1:~ }{n: Paste }{1: }| + {1:~ }{n: }{1: }| + {1:~ }{n: Select Word }{1: }| + {1:~ }{n: Select Sentence }{1: }| + {1:~ }{n: Select Paragraph }{1: }| + {1:~ }{n: Select Line }{1: }| + {1:~ }{n: Select Block }{1: }| + {1:~ }{n: Select All }{1: }| + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + :popup PopUp | + ]]) + + feed('<Esc>') end) describe('"kind" and "menu"', function() diff --git a/test/old/testdir/test_popup.vim b/test/old/testdir/test_popup.vim index 2cc676fb6d..54b40e5732 100644 --- a/test/old/testdir/test_popup.vim +++ b/test/old/testdir/test_popup.vim @@ -885,14 +885,14 @@ func Test_popup_command_dump() echomsg 'changed' endfunc END - call writefile(script, 'XtimerScript') + call writefile(script, 'XtimerScript', 'D') let lines =<< trim END one two three four five and one two Xthree four five one more two three four five END - call writefile(lines, 'Xtest') + call writefile(lines, 'Xtest', 'D') let buf = RunVimInTerminal('-S XtimerScript Xtest', {}) call term_sendkeys(buf, ":source $VIMRUNTIME/menu.vim\<CR>") call term_sendkeys(buf, "/X\<CR>:popup PopUp\<CR>") @@ -910,7 +910,7 @@ func Test_popup_command_dump() " Set a timer to change a menu entry while it's displayed. The text should " not change but the command does. Making the screendump also verifies that - " "changed" shows up, which means the timer triggered + " "changed" shows up, which means the timer triggered. call term_sendkeys(buf, "/X\<CR>:call StartTimer() | popup PopUp\<CR>") call VerifyScreenDump(buf, 'Test_popup_command_04', {}) @@ -918,9 +918,16 @@ func Test_popup_command_dump() call term_sendkeys(buf, "jj\<CR>") call VerifyScreenDump(buf, 'Test_popup_command_05', {}) + call term_sendkeys(buf, "\<Esc>") + + " Add a window toolbar to the window and check the :popup menu position. + call term_sendkeys(buf, ":nnoremenu WinBar.TEST :\<CR>") + call term_sendkeys(buf, "/X\<CR>:popup PopUp\<CR>") + call VerifyScreenDump(buf, 'Test_popup_command_06', {}) + + call term_sendkeys(buf, "\<Esc>") + call StopVimInTerminal(buf) - call delete('Xtest') - call delete('XtimerScript') endfunc func Test_popup_complete_backwards() |