diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-01-10 12:56:43 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-10 12:56:43 +0800 |
commit | a7550a20e0c3084eacd2b4ede1e6a94f282c2fb8 (patch) | |
tree | 6e09de77e58724c4aa7c07f413c69b50ac42b3a8 /test/functional/ui | |
parent | fa17a5ab49dff5a2e4de7bd2faee31f5458993aa (diff) | |
download | rneovim-a7550a20e0c3084eacd2b4ede1e6a94f282c2fb8.tar.gz rneovim-a7550a20e0c3084eacd2b4ede1e6a94f282c2fb8.tar.bz2 rneovim-a7550a20e0c3084eacd2b4ede1e6a94f282c2fb8.zip |
fix(pum): handle right-click menu repositioning with multigrid (#26975)
Diffstat (limited to 'test/functional/ui')
-rw-r--r-- | test/functional/ui/popupmenu_spec.lua | 65 |
1 files changed, 63 insertions, 2 deletions
diff --git a/test/functional/ui/popupmenu_spec.lua b/test/functional/ui/popupmenu_spec.lua index 67a5f2ef77..da0a68edcb 100644 --- a/test/functional/ui/popupmenu_spec.lua +++ b/test/functional/ui/popupmenu_spec.lua @@ -3771,6 +3771,67 @@ describe('builtin popupmenu', function() ]]) end if multigrid then + meths.input_mouse('right', 'press', '', 2, 0, 18) + screen:expect { + grid = [[ + ## grid 1 + [2:--------------------------------]|*5 + [3:--------------------------------]| + ## grid 2 + ^popup menu test | + {1:~ }|*4 + ## grid 3 + :let g:menustr = 'bar' | + ## grid 4 + {n: foo }| + {n: bar }| + {n: baz }| + ]], + float_pos = { + [4] = { { id = -1 }, 'NW', 2, 1, 17, false, 250 }, + }, + } + else + feed('<RightMouse><18,0>') + screen:expect([[ + ^popup menu test | + {1:~ }{n: foo }{1: }| + {1:~ }{n: bar }{1: }| + {1:~ }{n: baz }{1: }| + {1:~ }| + :let g:menustr = 'bar' | + ]]) + end + if multigrid then + meths.input_mouse('right', 'press', '', 4, 1, 3) + screen:expect({ + grid = [[ + ## grid 1 + [2:--------------------------------]|*5 + [3:--------------------------------]| + ## grid 2 + ^popup menu test | + {1:~ }|*4 + ## grid 3 + :let g:menustr = 'bar' | + ## grid 4 + {n: foo }| + {n: bar }| + {n: baz }| + ]], + float_pos = { [4] = { { id = -1 }, 'NW', 2, 3, 19, false, 250 } }, + }) + else + feed('<RightMouse><20,2>') + screen:expect([[ + ^popup menu test | + {1:~ }|*2 + {1:~ }{n: foo }{1: }| + {1:~ }{n: bar }{1: }| + :let g:menustr = 'b{n: baz } | + ]]) + end + if multigrid then meths.input_mouse('left', 'press', '', 4, 2, 2) screen:expect({ grid = [[ @@ -3785,7 +3846,7 @@ describe('builtin popupmenu', function() ]], }) else - feed('<LeftMouse><22,5>') + feed('<LeftMouse><21,5>') screen:expect([[ ^popup menu test | {1:~ }|*4 @@ -4022,7 +4083,7 @@ describe('builtin popupmenu', function() ]], }) else - feed('<LeftMouse><22,3>') + feed('<LeftMouse><21,3>') screen:expect([[ popup menu test | {1:~ }| |