diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-01-05 10:59:52 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-05 10:59:52 +0800 |
commit | e09adfdcffe8a94e09d834bb49f42fd725ddd47b (patch) | |
tree | 40903eb61c91c191e18fea2e28d2620f69b498b0 /test/functional/terminal/mouse_spec.lua | |
parent | dab584408211a39962a7313b7b8c4cb7e3717a7a (diff) | |
download | rneovim-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.lua | 128 |
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() |