aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/multigrid_spec.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-12-09 20:42:00 +0800
committerzeertzjq <zeertzjq@outlook.com>2023-12-09 22:15:02 +0800
commit1037ce2e461034a20e35ad59969fd05d5ad68b91 (patch)
tree5cc490afac4607008bacf24d132015b63adfd1d0 /test/functional/ui/multigrid_spec.lua
parent5e43630a260e49ed494539d41cb832b1ee6d03c8 (diff)
downloadrneovim-1037ce2e461034a20e35ad59969fd05d5ad68b91.tar.gz
rneovim-1037ce2e461034a20e35ad59969fd05d5ad68b91.tar.bz2
rneovim-1037ce2e461034a20e35ad59969fd05d5ad68b91.zip
test: avoid repeated screen lines in expected states
This is the command invoked repeatedly to make the changes: :%s/^\(.*\)|\%(\*\(\d\+\)\)\?$\n\1|\%(\*\(\d\+\)\)\?$/\=submatch(1)..'|*'..(max([str2nr(submatch(2)),1])+max([str2nr(submatch(3)),1]))/g
Diffstat (limited to 'test/functional/ui/multigrid_spec.lua')
-rw-r--r--test/functional/ui/multigrid_spec.lua2411
1 files changed, 317 insertions, 2094 deletions
diff --git a/test/functional/ui/multigrid_spec.lua b/test/functional/ui/multigrid_spec.lua
index 5b982df2b5..098c0f7fef 100644
--- a/test/functional/ui/multigrid_spec.lua
+++ b/test/functional/ui/multigrid_spec.lua
@@ -47,33 +47,12 @@ describe('ext_multigrid', function()
it('default initial screen', function()
screen:expect{grid=[[
## grid 1
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
+ [2:-----------------------------------------------------]|*12
{11:[No Name] }|
[3:-----------------------------------------------------]|
## grid 2
^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*11
## grid 3
|
]]}
@@ -83,48 +62,17 @@ describe('ext_multigrid', function()
command('vsplit')
screen:expect{grid=[[
## grid 1
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
+ [4:--------------------------]│[2:--------------------------]|*12
{11:[No Name] }{12:[No Name] }|
[3:-----------------------------------------------------]|
## grid 2
|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*11
## grid 3
|
## grid 4
^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*11
]], condition=function()
eq({
[2] = { win = {id=1000}, startrow = 0, startcol = 27, width = 26, height = 12 },
@@ -135,48 +83,22 @@ describe('ext_multigrid', function()
command('split')
screen:expect{grid=[[
## grid 1
- [4:--------------------------]│[5:--------------------------]|
- [4:--------------------------]│[5:--------------------------]|
- [4:--------------------------]│[5:--------------------------]|
- [4:--------------------------]│[5:--------------------------]|
- [4:--------------------------]│[5:--------------------------]|
- [4:--------------------------]│[5:--------------------------]|
+ [4:--------------------------]│[5:--------------------------]|*6
[4:--------------------------]│{11:[No Name] }|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
+ [4:--------------------------]│[2:--------------------------]|*5
{12:[No Name] [No Name] }|
[3:-----------------------------------------------------]|
## grid 2
|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 3
|
## grid 4
|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*11
## grid 5
^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
]], condition=function()
eq({
[2] = { win = {id=1000}, startrow = 7, startcol = 27, width = 26, height = 5 },
@@ -188,35 +110,19 @@ describe('ext_multigrid', function()
command('q')
screen:expect{grid=[[
## grid 1
- [5:-----------------------------------------------------]|
- [5:-----------------------------------------------------]|
- [5:-----------------------------------------------------]|
- [5:-----------------------------------------------------]|
- [5:-----------------------------------------------------]|
- [5:-----------------------------------------------------]|
+ [5:-----------------------------------------------------]|*6
{11:[No Name] }|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
+ [2:-----------------------------------------------------]|*5
{12:[No Name] }|
[3:-----------------------------------------------------]|
## grid 2
|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 3
|
## grid 5
^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
]], condition=function()
eq({
[2] = { win = {id=1000}, startrow = 7, startcol = 0, width = 53, height = 5 },
@@ -231,35 +137,19 @@ describe('ext_multigrid', function()
command('sp')
screen:expect([[
## grid 1
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
+ [4:-----------------------------------------------------]|*6
{11:[No Name] }|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
+ [2:-----------------------------------------------------]|*5
{12:[No Name] }|
[3:-----------------------------------------------------]|
## grid 2
|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 3
|
## grid 4
^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
]])
end)
@@ -268,35 +158,19 @@ describe('ext_multigrid', function()
command('resize 8')
screen:expect([[
## grid 1
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
+ [4:-----------------------------------------------------]|*8
{11:[No Name] }|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
+ [2:-----------------------------------------------------]|*3
{12:[No Name] }|
[3:-----------------------------------------------------]|
## grid 2
|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
## grid 3
|
## grid 4
^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*7
]])
end)
@@ -306,162 +180,77 @@ describe('ext_multigrid', function()
command('vsp')
screen:expect{grid=[[
## grid 1
- [6:--------------------]│[5:----------------]│[4:---------------]|
- [6:--------------------]│[5:----------------]│[4:---------------]|
- [6:--------------------]│[5:----------------]│[4:---------------]|
- [6:--------------------]│[5:----------------]│[4:---------------]|
- [6:--------------------]│[5:----------------]│[4:---------------]|
- [6:--------------------]│[5:----------------]│[4:---------------]|
+ [6:--------------------]│[5:----------------]│[4:---------------]|*6
{11:[No Name] }{12:[No Name] [No Name] }|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
+ [2:-----------------------------------------------------]|*5
{12:[No Name] }|
[3:-----------------------------------------------------]|
## grid 2
|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 3
|
## grid 4
|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
## grid 5
|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
## grid 6
^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
]]}
insert('hello')
screen:expect{grid=[[
## grid 1
- [6:--------------------]│[5:----------------]│[4:---------------]|
- [6:--------------------]│[5:----------------]│[4:---------------]|
- [6:--------------------]│[5:----------------]│[4:---------------]|
- [6:--------------------]│[5:----------------]│[4:---------------]|
- [6:--------------------]│[5:----------------]│[4:---------------]|
- [6:--------------------]│[5:----------------]│[4:---------------]|
+ [6:--------------------]│[5:----------------]│[4:---------------]|*6
{11:[No Name] [+] }{12:[No Name] [+] [No Name] [+] }|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
+ [2:-----------------------------------------------------]|*5
{12:[No Name] [+] }|
[3:-----------------------------------------------------]|
## grid 2
hello |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 3
|
## grid 4
hello |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
## grid 5
hello |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
## grid 6
hell^o |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
]]}
end)
it('closes splits', function ()
command('sp')
screen:expect{grid=[[
## grid 1
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
- [4:-----------------------------------------------------]|
+ [4:-----------------------------------------------------]|*6
{11:[No Name] }|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
+ [2:-----------------------------------------------------]|*5
{12:[No Name] }|
[3:-----------------------------------------------------]|
## grid 2
|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 3
|
## grid 4
^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
]]}
command('q')
screen:expect{grid=[[
## grid 1
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
+ [2:-----------------------------------------------------]|*12
{11:[No Name] }|
[3:-----------------------------------------------------]|
## grid 2
^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*11
## grid 3
|
]]}
@@ -473,48 +262,17 @@ describe('ext_multigrid', function()
command('vsp')
screen:expect{grid=[[
## grid 1
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
+ [4:--------------------------]│[2:--------------------------]|*12
{11:[No Name] }{12:[No Name] }|
[3:-----------------------------------------------------]|
## grid 2
|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*11
## grid 3
|
## grid 4
^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*11
]]}
end)
it('resizes grids', function ()
@@ -522,48 +280,17 @@ describe('ext_multigrid', function()
command('vertical resize 10')
screen:expect{grid=[[
## grid 1
- [4:----------]│[2:------------------------------------------]|
- [4:----------]│[2:------------------------------------------]|
- [4:----------]│[2:------------------------------------------]|
- [4:----------]│[2:------------------------------------------]|
- [4:----------]│[2:------------------------------------------]|
- [4:----------]│[2:------------------------------------------]|
- [4:----------]│[2:------------------------------------------]|
- [4:----------]│[2:------------------------------------------]|
- [4:----------]│[2:------------------------------------------]|
- [4:----------]│[2:------------------------------------------]|
- [4:----------]│[2:------------------------------------------]|
- [4:----------]│[2:------------------------------------------]|
+ [4:----------]│[2:------------------------------------------]|*12
{11:<No Name] }{12:[No Name] }|
[3:-----------------------------------------------------]|
## grid 2
|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*11
## grid 3
|
## grid 4
^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*11
]]}
end)
it('splits horizontally', function ()
@@ -571,173 +298,69 @@ describe('ext_multigrid', function()
command('sp')
screen:expect{grid=[[
## grid 1
- [5:--------------------------]│[2:--------------------------]|
- [5:--------------------------]│[2:--------------------------]|
- [5:--------------------------]│[2:--------------------------]|
- [5:--------------------------]│[2:--------------------------]|
- [5:--------------------------]│[2:--------------------------]|
- [5:--------------------------]│[2:--------------------------]|
+ [5:--------------------------]│[2:--------------------------]|*6
{11:[No Name] }│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
+ [4:--------------------------]│[2:--------------------------]|*5
{12:[No Name] [No Name] }|
[3:-----------------------------------------------------]|
## grid 2
|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*11
## grid 3
|
## grid 4
|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 5
^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
]]}
insert('hello')
screen:expect{grid=[[
## grid 1
- [5:--------------------------]│[2:--------------------------]|
- [5:--------------------------]│[2:--------------------------]|
- [5:--------------------------]│[2:--------------------------]|
- [5:--------------------------]│[2:--------------------------]|
- [5:--------------------------]│[2:--------------------------]|
- [5:--------------------------]│[2:--------------------------]|
+ [5:--------------------------]│[2:--------------------------]|*6
{11:[No Name] [+] }│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
+ [4:--------------------------]│[2:--------------------------]|*5
{12:[No Name] [+] [No Name] [+] }|
[3:-----------------------------------------------------]|
## grid 2
hello |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*11
## grid 3
|
## grid 4
hello |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 5
hell^o |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
]]}
end)
it('closes splits', function ()
command('vsp')
screen:expect{grid=[[
## grid 1
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
- [4:--------------------------]│[2:--------------------------]|
+ [4:--------------------------]│[2:--------------------------]|*12
{11:[No Name] }{12:[No Name] }|
[3:-----------------------------------------------------]|
## grid 2
|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*11
## grid 3
|
## grid 4
^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*11
]]}
command('q')
screen:expect{grid=[[
## grid 1
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
+ [2:-----------------------------------------------------]|*12
{11:[No Name] }|
[3:-----------------------------------------------------]|
## grid 2
^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*11
## grid 3
|
]]}
@@ -750,17 +373,12 @@ describe('ext_multigrid', function()
screen:try_resize(25, 6)
screen:expect{grid=[[
## grid 1
- [2:-------------------------]|
- [2:-------------------------]|
- [2:-------------------------]|
- [2:-------------------------]|
+ [2:-------------------------]|*4
{11:[No Name] }|
[3:-------------------------]|
## grid 2
^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*3
## grid 3
|
]]}
@@ -799,26 +417,12 @@ describe('ext_multigrid', function()
screen:expect{grid=[[
## grid 1
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:-----------------------------------------------------]|
- [2:--------------------------------