aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-01-10 12:56:43 +0800
committerGitHub <noreply@github.com>2024-01-10 12:56:43 +0800
commita7550a20e0c3084eacd2b4ede1e6a94f282c2fb8 (patch)
tree6e09de77e58724c4aa7c07f413c69b50ac42b3a8 /test/functional/ui
parentfa17a5ab49dff5a2e4de7bd2faee31f5458993aa (diff)
downloadrneovim-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.lua65
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:~ }|