From 30bd1c1e85d2fcffa24a87803bec3070e52c7c7e Mon Sep 17 00:00:00 2001 From: Björn Linse Date: Sat, 26 Jan 2019 12:37:38 +0100 Subject: terminal: handle size when switching buffers in window --- test/functional/terminal/mouse_spec.lua | 79 ++++++++++++++++++++++++--------- 1 file changed, 57 insertions(+), 22 deletions(-) (limited to 'test/functional') diff --git a/test/functional/terminal/mouse_spec.lua b/test/functional/terminal/mouse_spec.lua index 263a5ce79d..5cd8c729cb 100644 --- a/test/functional/terminal/mouse_spec.lua +++ b/test/functional/terminal/mouse_spec.lua @@ -108,41 +108,42 @@ describe('terminal mouse', function() ]]) feed(':enew | set number') screen:expect([[ - {7: 1 }^ │line28 | - {4:~ }│line29 | + {7: 1 }^ │line29 | {4:~ }│line30 | {4:~ }│rows: 5, cols: 25 | + {4:~ }│rows: 5, cols: 24 | {4:~ }│{2: } | ========== ========== | :enew | set number | ]]) feed('30iline\n') screen:expect([[ - {7: 27 }line │line28 | - {7: 28 }line │line29 | - {7: 29 }line │line30 | - {7: 30 }line │rows: 5, cols: 25 | + {7: 27 }line │line29 | + {7: 28 }line │line30 | + {7: 29 }line │rows: 5, cols: 25 | + {7: 30 }line │rows: 5, cols: 24 | {7: 31 }^ │{2: } | ========== ========== | | ]]) feed('li') screen:expect([[ - {7: 27 }line │line28 | - {7: 28 }line │line29 | - {7: 29 }line │line30 | - {7: 30 }line │rows: 5, cols: 25 | + {7: 27 }line │line29 | + {7: 28 }line │line30 | + {7: 29 }line │rows: 5, cols: 25 | + {7: 30 }line │rows: 5, cols: 24 | {7: 31 } │{1: } | ========== ========== | {3:-- TERMINAL --} | ]]) + -- enabling mouse won't affect interaction with other windows thelpers.enable_mouse() thelpers.feed_data('mouse enabled\n') screen:expect([[ - {7: 27 }line │line29 | - {7: 28 }line │line30 | - {7: 29 }line │rows: 5, cols: 25 | + {7: 27 }line │line30 | + {7: 28 }line │rows: 5, cols: 25 | + {7: 29 }line │rows: 5, cols: 24 | {7: 30 }line │mouse enabled | {7: 31 } │{1: } | ========== ========== | @@ -153,9 +154,9 @@ describe('terminal mouse', function() it('wont lose focus if another window is scrolled', function() feed('<0,0><0,0>') screen:expect([[ - {7: 21 }line │line29 | - {7: 22 }line │line30 | - {7: 23 }line │rows: 5, cols: 25 | + {7: 21 }line │line30 | + {7: 22 }line │rows: 5, cols: 25 | + {7: 23 }line │rows: 5, cols: 24 | {7: 24 }line │mouse enabled | {7: 25 }line │{1: } | ========== ========== | @@ -163,9 +164,9 @@ describe('terminal mouse', function() ]]) feed('<0,0>') screen:expect([[ - {7: 26 }line │line29 | - {7: 27 }line │line30 | - {7: 28 }line │rows: 5, cols: 25 | + {7: 26 }line │line30 | + {7: 27 }line │rows: 5, cols: 25 | + {7: 28 }line │rows: 5, cols: 24 | {7: 29 }line │mouse enabled | {7: 30 }line │{1: } | ========== ========== | @@ -176,15 +177,49 @@ describe('terminal mouse', function() it('will lose focus if another window is clicked', function() feed('<5,1>') screen:expect([[ - {7: 27 }line │line29 | - {7: 28 }l^ine │line30 | - {7: 29 }line │rows: 5, cols: 25 | + {7: 27 }line │line30 | + {7: 28 }l^ine │rows: 5, cols: 25 | + {7: 29 }line │rows: 5, cols: 24 | {7: 30 }line │mouse enabled | {7: 31 } │{2: } | ========== ========== | | ]]) end) + + it('handles terminal size when switching buffers', function() + nvim('set_option', 'hidden', true) + feed('') + screen:expect([[ + {7: 27 }line │line30 | + {7: 28 }line │rows: 5, cols: 25 | + {7: 29 }line │rows: 5, cols: 24 | + {7: 30 }line │mouse enabled | + {7: 31 }^ │{2: } | + ========== ========== | + | + ]]) + feed(':bn') + screen:expect([[ + rows: 5, cols: 25 │rows: 5, cols: 25 | + rows: 5, cols: 24 │rows: 5, cols: 24 | + mouse enabled │mouse enabled | + rows: 5, cols: 25 │rows: 5, cols: 25 | + {2:^ } │{2: } | + ========== ========== | + :bn | + ]]) + feed(':bn') + screen:expect([[ + {7: 27 }line │rows: 5, cols: 24 | + {7: 28 }line │mouse enabled | + {7: 29 }line │rows: 5, cols: 25 | + {7: 30 }line │rows: 5, cols: 24 | + {7: 31 }^ │{2: } | + ========== ========== | + :bn | + ]]) + end) end) end) end) -- cgit