aboutsummaryrefslogtreecommitdiff
path: root/test/functional/terminal/mouse_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/terminal/mouse_spec.lua')
-rw-r--r--test/functional/terminal/mouse_spec.lua139
1 files changed, 64 insertions, 75 deletions
diff --git a/test/functional/terminal/mouse_spec.lua b/test/functional/terminal/mouse_spec.lua
index a86615184d..263a5ce79d 100644
--- a/test/functional/terminal/mouse_spec.lua
+++ b/test/functional/terminal/mouse_spec.lua
@@ -1,6 +1,6 @@
local helpers = require('test.functional.helpers')(after_each)
local thelpers = require('test.functional.terminal.helpers')
-local clear = helpers.clear
+local clear, eq, eval = helpers.clear, helpers.eq, helpers.eval
local feed, nvim = helpers.feed, helpers.nvim
local feed_data = thelpers.feed_data
@@ -27,7 +27,7 @@ describe('terminal mouse', function()
line29 |
line30 |
{1: } |
- -- TERMINAL -- |
+ {3:-- TERMINAL --} |
]])
end)
@@ -36,31 +36,17 @@ describe('terminal mouse', function()
end)
describe('when the terminal has focus', function()
- it('will exit focus when scrolled', function()
- feed('<MouseDown><0,0>')
- screen:expect([[
- line23 |
- line24 |
- line25 |
- line26 |
- line27 |
- ^line28 |
- |
- ]])
+ it('will exit focus on mouse-scroll', function()
+ eq('t', eval('mode()'))
+ feed('<ScrollWheelUp><0,0>')
+ eq('n', eval('mode()'))
end)
- it('will exit focus after <C-\\>, then scrolled', function()
+ it('will exit focus on <C-\\> + mouse-scroll', function()
+ eq('t', eval('mode()'))
feed('<C-\\>')
- feed('<MouseDown><0,0>')
- screen:expect([[
- line23 |
- line24 |
- line25 |
- line26 |
- line27 |
- ^line28 |
- |
- ]])
+ feed('<ScrollWheelUp><0,0>')
+ eq('n', eval('mode()'))
end)
describe('with mouse events enabled by the program', function()
@@ -74,11 +60,12 @@ describe('terminal mouse', function()
line30 |
mouse enabled |
{1: } |
- -- TERMINAL -- |
+ {3:-- TERMINAL --} |
]])
end)
it('will forward mouse clicks to the program', function()
+ if helpers.pending_win32(pending) then return end
feed('<LeftMouse><1,2>')
screen:expect([[
line27 |
@@ -87,12 +74,13 @@ describe('terminal mouse', function()
line30 |
mouse enabled |
"#{1: } |
- -- TERMINAL -- |
+ {3:-- TERMINAL --} |
]])
end)
it('will forward mouse scroll to the program', function()
- feed('<MouseDown><0,0>')
+ if helpers.pending_win32(pending) then return end
+ feed('<ScrollWheelUp><0,0>')
screen:expect([[
line27 |
line28 |
@@ -100,98 +88,99 @@ describe('terminal mouse', function()
line30 |
mouse enabled |
`!!{1: } |
- -- TERMINAL -- |
+ {3:-- TERMINAL --} |
]])
end)
end)
describe('with a split window and other buffer', function()
+ if helpers.pending_win32(pending) then return end
before_each(function()
feed('<c-\\><c-n>:vsp<cr>')
screen:expect([[
- line28 |line28 |
- line29 |line29 |
- line30 |line30 |
- rows: 5, cols: 25 |rows: 5, cols: 25 |
- {2:^ } |{2: } |
+ line28 │line28 |
+ line29 │line29 |
+ line30 │line30 |
+ rows: 5, cols: 25 │rows: 5, cols: 25 |
+ {2:^ } │{2: } |
========== ========== |
- |
+ :vsp |
]])
feed(':enew | set number<cr>')
screen:expect([[
- 1 ^ |line28 |
- ~ |line29 |
- ~ |line30 |
- ~ |rows: 5, cols: 25 |
- ~ |{2: } |
+ {7: 1 }^ │line28 |
+ {4:~ }│line29 |
+ {4:~ }│line30 |
+ {4:~ }│rows: 5, cols: 25 |
+ {4:~ }│{2: } |
========== ========== |
:enew | set number |
]])
feed('30iline\n<esc>')
screen:expect([[
- 27 line |line28 |
- 28 line |line29 |
- 29 line |line30 |
- 30 line |rows: 5, cols: 25 |
- 31 ^ |{2: } |
+ {7: 27 }line │line28 |
+ {7: 28 }line │line29 |
+ {7: 29 }line │line30 |
+ {7: 30 }line │rows: 5, cols: 25 |
+ {7: 31 }^ │{2: } |
========== ========== |
|
]])
feed('<c-w>li')
screen:expect([[
- 27 line |line29 |
- 28 line |line30 |
- 29 line |rows: 5, cols: 25 |
- 30 line |rows: 5, cols: 24 |
- 31 |{1: } |
+ {7: 27 }line │line28 |
+ {7: 28 }line │line29 |
+ {7: 29 }line │line30 |
+ {7: 30 }line │rows: 5, cols: 25 |
+ {7: 31 } │{1: } |
========== ========== |
- -- TERMINAL -- |
+ {3:-- TERMINAL --} |
]])
-- enabling mouse won't affect interaction with other windows
thelpers.enable_mouse()
thelpers.feed_data('mouse enabled\n')
screen:expect([[
- 27 line |line30 |
- 28 line |rows: 5, cols: 25 |
- 29 line |rows: 5, cols: 24 |
- 30 line |mouse enabled |
- 31 |{1: } |
+ {7: 27 }line │line29 |
+ {7: 28 }line │line30 |
+ {7: 29 }line │rows: 5, cols: 25 |
+ {7: 30 }line │mouse enabled |
+ {7: 31 } │{1: } |
========== ========== |
- -- TERMINAL -- |
+ {3:-- TERMINAL --} |
]])
end)
it('wont lose focus if another window is scrolled', function()
- feed('<MouseDown><0,0><MouseDown><0,0>')
+ feed('<ScrollWheelUp><0,0><ScrollWheelUp><0,0>')
screen:expect([[
- 21 line |line30 |
- 22 line |rows: 5, cols: 25 |
- 23 line |rows: 5, cols: 24 |
- 24 line |mouse enabled |
- 25 line |{1: } |
+ {7: 21 }line │line29 |
+ {7: 22 }line │line30 |
+ {7: 23 }line │rows: 5, cols: 25 |
+ {7: 24 }line │mouse enabled |
+ {7: 25 }line │{1: } |
========== ========== |
- -- TERMINAL -- |
+ {3:-- TERMINAL --} |
]])
- feed('<S-MouseUp><0,0>')
+ feed('<S-ScrollWheelDown><0,0>')
screen:expect([[
- 26 line |line30 |
- 27 line |rows: 5, cols: 25 |
- 28 line |rows: 5, cols: 24 |
- 29 line |mouse enabled |
- 30 line |{1: } |
+ {7: 26 }line │line29 |
+ {7: 27 }line │line30 |
+ {7: 28 }line │rows: 5, cols: 25 |
+ {7: 29 }line │mouse enabled |
+ {7: 30 }line │{1: } |
========== ========== |
- -- TERMINAL -- |
+ {3:-- TERMINAL --} |
]])
end)
it('will lose focus if another window is clicked', function()
feed('<LeftMouse><5,1>')
screen:expect([[
- 27 line |line30 |
- 28 l^ine |rows: 5, cols: 25 |
- 29 line |rows: 5, cols: 24 |
- 30 line |mouse enabled |
- 31 |{2: } |
+ {7: 27 }line │line29 |
+ {7: 28 }l^ine │line30 |
+ {7: 29 }line │rows: 5, cols: 25 |
+ {7: 30 }line │mouse enabled |
+ {7: 31 } │{2: } |
========== ========== |
|
]])