aboutsummaryrefslogtreecommitdiff
path: root/test/functional/terminal/mouse_spec.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-01-05 10:59:52 +0800
committerGitHub <noreply@github.com>2024-01-05 10:59:52 +0800
commite09adfdcffe8a94e09d834bb49f42fd725ddd47b (patch)
tree40903eb61c91c191e18fea2e28d2620f69b498b0 /test/functional/terminal/mouse_spec.lua
parentdab584408211a39962a7313b7b8c4cb7e3717a7a (diff)
downloadrneovim-e09adfdcffe8a94e09d834bb49f42fd725ddd47b.tar.gz
rneovim-e09adfdcffe8a94e09d834bb49f42fd725ddd47b.tar.bz2
rneovim-e09adfdcffe8a94e09d834bb49f42fd725ddd47b.zip
fix(terminal): check if mouse on statusline/tabline/winbar/vsep (#26892)
Diffstat (limited to 'test/functional/terminal/mouse_spec.lua')
-rw-r--r--test/functional/terminal/mouse_spec.lua128
1 files changed, 128 insertions, 0 deletions
diff --git a/test/functional/terminal/mouse_spec.lua b/test/functional/terminal/mouse_spec.lua
index fd0dd46d71..65d0c8f854 100644
--- a/test/functional/terminal/mouse_spec.lua
+++ b/test/functional/terminal/mouse_spec.lua
@@ -243,6 +243,134 @@ describe(':terminal mouse', function()
{3:-- TERMINAL --} |
]])
end)
+
+ it('will lose focus if statusline is clicked', function()
+ command('set laststatus=2')
+ screen:expect([[
+ line29 |
+ line30 |
+ mouse enabled |
+ rows: 5, cols: 50 |
+ {1: } |
+ ========== |
+ {3:-- TERMINAL --} |
+ ]])
+ feed('<LeftMouse><0,5>')
+ screen:expect([[
+ line29 |
+ line30 |
+ mouse enabled |
+ rows: 5, cols: 50 |
+ {2:^ } |
+ ========== |
+ |
+ ]])
+ feed('<LeftDrag><0,4>')
+ screen:expect([[
+ mouse enabled |
+ rows: 5, cols: 50 |
+ rows: 4, cols: 50 |
+ {2:^ } |
+ ========== |
+ |*2
+ ]])
+ end)
+
+ it('will lose focus if right separator is clicked', function()
+ command('rightbelow vnew | wincmd p | startinsert')
+ screen:expect([[
+ line29 │ |
+ line30 │{4:~ }|
+ mouse enabled │{4:~ }|
+ rows: 5, cols: 24 │{4:~ }|
+ {1: } │{4:~ }|
+ ========== ========== |
+ {3:-- TERMINAL --} |
+ ]])
+ feed('<LeftMouse><24,0>')
+ screen:expect([[
+ line29 │ |
+ line30 │{4:~ }|
+ mouse enabled │{4:~ }|
+ rows: 5, cols: 24 │{4:~ }|
+ {2:^ } │{4:~ }|
+ ========== ========== |
+ |
+ ]])
+ feed('<LeftDrag><23,0>')
+ screen:expect([[
+ line30 │ |
+ mouse enabled │{4:~ }|
+ rows: 5, cols: 24 │{4:~ }|
+ rows: 5, cols: 23 │{4:~ }|
+ {2:^ } │{4:~ }|
+ ========== ========== |
+ |
+ ]])
+ end)
+
+ it('will lose focus if winbar/tabline is clicked', function()
+ command('setlocal winbar=WINBAR')
+ screen:expect([[
+ {3:WINBAR }|
+ line29 |
+ line30 |
+ mouse enabled |
+ rows: 5, cols: 50 |
+ {1: } |
+ {3:-- TERMINAL --} |
+ ]])
+ feed('<LeftMouse><0,0>')
+ screen:expect([[
+ {3:WINBAR }|
+ line29 |
+ line30 |
+ mouse enabled |
+ rows: 5, cols: 50 |
+ {2:^ } |
+ |
+ ]])
+ command('set showtabline=2 tabline=TABLINE | startinsert')
+ screen:expect([[
+ {1:TABLINE }|
+ {3:WINBAR }|
+ mouse enabled |
+ rows: 5, cols: 50 |
+ rows: 4, cols: 50 |
+ {1: } |
+ {3:-- TERMINAL --} |
+ ]])
+ feed('<LeftMouse><0,0>')
+ screen:expect([[
+ {1:TABLINE }|
+ {3:WINBAR }|
+ mouse enabled |
+ rows: 5, cols: 50 |
+ rows: 4, cols: 50 |
+ {2:^ } |
+ |
+ ]])
+ command('setlocal winbar= | startinsert')
+ screen:expect([[
+ {1:TABLINE }|
+ mouse enabled |
+ rows: 5, cols: 50 |
+ rows: 4, cols: 50 |
+ rows: 5, cols: 50 |
+ {1: } |
+ {3:-- TERMINAL --} |
+ ]])
+ feed('<LeftMouse><0,0>')
+ screen:expect([[
+ {1:TABLINE }|
+ mouse enabled |
+ rows: 5, cols: 50 |
+ rows: 4, cols: 50 |
+ rows: 5, cols: 50 |
+ {2:^ } |
+ |
+ ]])
+ end)
end)
describe('with a split window and other buffer', function()