aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2019-08-18 13:52:59 +0200
committerGitHub <noreply@github.com>2019-08-18 13:52:59 +0200
commit9bbac874f9e56c56e8f891ef691df293d11f11c6 (patch)
treebd3191e119459b2622f860e7345623a95c350a1d /test
parentd351f1c871ee9901db389e164789ea33d3e1871f (diff)
parent628f8f3dfdbc734096b04c3040c1f4d2cea873c4 (diff)
downloadrneovim-9bbac874f9e56c56e8f891ef691df293d11f11c6.tar.gz
rneovim-9bbac874f9e56c56e8f891ef691df293d11f11c6.tar.bz2
rneovim-9bbac874f9e56c56e8f891ef691df293d11f11c6.zip
Merge pull request #10798 from bfredl/multifix
multigrid: fixes
Diffstat (limited to 'test')
-rw-r--r--test/functional/ui/float_spec.lua50
-rw-r--r--test/functional/ui/multigrid_spec.lua50
-rw-r--r--test/functional/ui/popupmenu_spec.lua3
-rw-r--r--test/functional/ui/screen.lua11
4 files changed, 62 insertions, 52 deletions
diff --git a/test/functional/ui/float_spec.lua b/test/functional/ui/float_spec.lua
index 3e77349843..8dfe36c799 100644
--- a/test/functional/ui/float_spec.lua
+++ b/test/functional/ui/float_spec.lua
@@ -4144,14 +4144,14 @@ describe('floating windows', function()
[4:----------------------------------------]|
[4:----------------------------------------]|
:tabnew |
- ## grid 2
+ ## grid 2 (hidden)
x |
{0:~ }|
{0:~ }|
{0:~ }|
{0:~ }|
{0:~ }|
- ## grid 3
+ ## grid 3 (hidden)
{1:y }|
{2:~ }|
## grid 4
@@ -4193,7 +4193,7 @@ describe('floating windows', function()
## grid 3
{1:y }|
{2:~ }|
- ## grid 4
+ ## grid 4 (hidden)
|
{0:~ }|
{0:~ }|
@@ -4223,13 +4223,13 @@ describe('floating windows', function()
[4:----------------------------------------]|
[4:----------------------------------------]|
:tabnext |
- ## grid 2
+ ## grid 2 (hidden)
x |
{0:~ }|
{0:~ }|
{0:~ }|
{0:~ }|
- ## grid 3
+ ## grid 3 (hidden)
{1:y }|
{2:~ }|
## grid 4
@@ -4267,7 +4267,7 @@ describe('floating windows', function()
[4:----------------------------------------]|
[4:----------------------------------------]|
:tabnew |
- ## grid 2
+ ## grid 2 (hidden)
x |
{0:~ }|
{0:~ }|
@@ -4313,7 +4313,7 @@ describe('floating windows', function()
{0:~ }|
{0:~ }|
{0:~ }|
- ## grid 4
+ ## grid 4 (hidden)
|
{0:~ }|
{0:~ }|
@@ -4333,7 +4333,7 @@ describe('floating windows', function()
[4:----------------------------------------]|
[4:----------------------------------------]|
:tabnext |
- ## grid 2
+ ## grid 2 (hidden)
x |
{0:~ }|
{0:~ }|
@@ -4365,7 +4365,11 @@ describe('floating windows', function()
[5] = {foreground = tonumber('0x990000'), background = tonumber('0xfff1ff')},
[6] = {foreground = tonumber('0x332533'), background = tonumber('0xfff1ff')},
[7] = {background = tonumber('0xffcfff'), bold = true, foreground = tonumber('0x0000d8')},
- [8] = {background = Screen.colors.LightMagenta, bold = true, foreground = Screen.colors.Blue1}
+ [8] = {background = Screen.colors.LightMagenta, bold = true, foreground = Screen.colors.Blue1},
+ [9] = {background = Screen.colors.LightMagenta, blend=30},
+ [10] = {foreground = Screen.colors.Red, background = Screen.colors.LightMagenta, blend=0},
+ [11] = {foreground = Screen.colors.Red, background = Screen.colors.LightMagenta, blend=80},
+ [12] = {background = Screen.colors.LightMagenta, bold = true, foreground = Screen.colors.Blue1, blend=30},
})
insert([[
Lorem ipsum dolor sit amet, consectetur
@@ -4445,9 +4449,9 @@ describe('floating windows', function()
qui officia deserunt mollit anim id est |
laborum^. |
## grid 4
- {1:test }|
- {1: }|
- {1:popup text }|
+ {9:test }|
+ {9: }|
+ {9:popup text }|
]], float_pos={[4] = {{id = 1002}, "NW", 1, 2, 5, true}}, unchanged=true}
else
screen:expect([[
@@ -4487,9 +4491,9 @@ describe('floating windows', function()
qui officia deserunt mollit anim id est |
laborum^. |
## grid 4
- {1:test }|
- {1: }|
- {4:popup text}{1: }|
+ {9:test }|
+ {9: }|
+ {10:popup text}{9: }|
]], float_pos={[4] = {{id = 1002}, "NW", 1, 2, 5, true}}}
else
screen:expect([[
@@ -4497,7 +4501,7 @@ describe('floating windows', function()
exercitation ullamco laboris nisi ut aliquip ex |
ea co{2:test}{3:o consequat}. Duis aute irure dolor in |
repre{3:henderit in vol}uptate velit esse cillum |
- dolor{4:popup text}{3:ul}la pariatur. Excepteur sint |
+ dolor{10:popup text}{3:ul}la pariatur. Excepteur sint |
occaecat cupidatat non proident, sunt in culpa |
qui officia deserunt mollit anim id est |
laborum^. |
@@ -4528,9 +4532,9 @@ describe('floating windows', function()
qui officia deserunt mollit anim id est |
laborum^. |
## grid 4
- {1:test }|
- {1: }|
- {4:popup text}{1: }|
+ {9:test }|
+ {9: }|
+ {11:popup text}{9: }|
]], float_pos={[4] = {{id = 1002}, "NW", 1, 2, 5, true}}, unchanged=true}
else
screen:expect([[
@@ -4570,9 +4574,9 @@ describe('floating windows', function()
qui officia deserunt mollit anim id est |
laborum^. |
## grid 4
- {4:popup text}{1: }|
- {8:~ }|
- {8:~ }|
+ {11:popup text}{9: }|
+ {12:~ }|
+ {12:~ }|
]], float_pos={[4] = {{id = 1002}, "NW", 1, 2, 5, true}}}
else
meths.input_mouse('wheel', 'down', '', 0, 4, 7)
@@ -4672,7 +4676,7 @@ describe('floating windows', function()
[2] = {foreground = Screen.colors.Grey0, background = tonumber('0xffcfff')},
[3] = {bold = true, foreground = Screen.colors.Blue1},
[4] = {background = tonumber('0xffcfff'), bold = true, foreground = tonumber('0xb282ff')},
- [5] = {background = Screen.colors.LightMagenta},
+ [5] = {background = Screen.colors.LightMagenta, blend=30},
})
if multigrid then
screen:expect{grid=[[
diff --git a/test/functional/ui/multigrid_spec.lua b/test/functional/ui/multigrid_spec.lua
index c5a23e4661..a910f5e2ea 100644
--- a/test/functional/ui/multigrid_spec.lua
+++ b/test/functional/ui/multigrid_spec.lua
@@ -76,7 +76,7 @@ describe('ext_multigrid', function()
it('positions windows correctly', function()
command('vsplit')
- screen:expect([[
+ screen:expect{grid=[[
## grid 1
[3:--------------------------]{12:│}[2:--------------------------]|
[3:--------------------------]{12:│}[2:--------------------------]|
@@ -118,15 +118,15 @@ describe('ext_multigrid', function()
{1:~ }|
{1:~ }|
{1:~ }|
- ]], nil, nil, function()
+ ]], condition=function()
eq({
- [2] = { win = 1000, startrow = 0, startcol = 27, width = 26, height = 12 },
- [3] = { win = 1001, startrow = 0, startcol = 0, width = 26, height = 12 }
+ [2] = { win = {id=1000}, startrow = 0, startcol = 27, width = 26, height = 12 },
+ [3] = { win = {id=1001}, startrow = 0, startcol = 0, width = 26, height = 12 }
}, screen.win_position)
- end)
+ end}
command('wincmd l')
command('split')
- screen:expect([[
+ screen:expect{grid=[[
## grid 1
[3:--------------------------]{12:│}[4:--------------------------]|
[3:--------------------------]{12:│}[4:--------------------------]|
@@ -168,16 +168,16 @@ describe('ext_multigrid', function()
{1:~ }|
{1:~ }|
{1:~ }|
- ]], nil, nil, function()
+ ]], condition=function()
eq({
- [2] = { win = 1000, startrow = 7, startcol = 27, width = 26, height = 5 },
- [3] = { win = 1001, startrow = 0, startcol = 0, width = 26, height = 12 },
- [4] = { win = 1002, startrow = 0, startcol = 27, width = 26, height = 6 }
+ [2] = { win = {id=1000}, startrow = 7, startcol = 27, width = 26, height = 5 },
+ [3] = { win = {id=1001}, startrow = 0, startcol = 0, width = 26, height = 12 },
+ [4] = { win = {id=1002}, startrow = 0, startcol = 27, width = 26, height = 6 }
}, screen.win_position)
- end)
+ end}
command('wincmd h')
command('q')
- screen:expect([[
+ screen:expect{grid=[[
## grid 1
[4:-----------------------------------------------------]|
[4:-----------------------------------------------------]|
@@ -206,12 +206,12 @@ describe('ext_multigrid', function()
{1:~ }|
{1:~ }|
{1:~ }|
- ]], nil, nil, function()
+ ]], condition=function()
eq({
- [2] = { win = 1000, startrow = 7, startcol = 0, width = 53, height = 5 },
- [4] = { win = 1002, startrow = 0, startcol = 0, width = 53, height = 6 }
+ [2] = { win = {id=1000}, startrow = 7, startcol = 0, width = 53, height = 5 },
+ [4] = { win = {id=1002}, startrow = 0, startcol = 0, width = 53, height = 6 }
}, screen.win_position)
- end)
+ end}
end)
describe('split', function ()
@@ -1206,7 +1206,7 @@ describe('ext_multigrid', function()
]])
end)
- it('handles switich tabs', function()
+ it('handles switch tabs', function()
command('vsp')
screen:expect([[
## grid 1
@@ -1271,7 +1271,7 @@ describe('ext_multigrid', function()
[4:-----------------------------------------------------]|
{11:[No Name] }|
|
- ## grid 2
+ ## grid 2 (hidden)
|
{1:~ }|
{1:~ }|
@@ -1284,7 +1284,7 @@ describe('ext_multigrid', function()
{1:~ }|
{1:~ }|
{1:~ }|
- ## grid 3
+ ## grid 3 (hidden)
|
{1:~ }|
{1:~ }|
@@ -1328,7 +1328,7 @@ describe('ext_multigrid', function()
[4:-----------------------------------------------------]|
{12:[No Name] }|
|
- ## grid 2
+ ## grid 2 (hidden)
|
{1:~ }|
{1:~ }|
@@ -1341,7 +1341,7 @@ describe('ext_multigrid', function()
{1:~ }|
{1:~ }|
{1:~ }|
- ## grid 3
+ ## grid 3 (hidden)
|
{1:~ }|
{1:~ }|
@@ -1409,13 +1409,13 @@ describe('ext_multigrid', function()
{1:~ }|
{1:~ }|
{1:~ }|
- ## grid 4
+ ## grid 4 (hidden)
|
{1:~ }|
{1:~ }|
{1:~ }|
{1:~ }|
- ## grid 5
+ ## grid 5 (hidden)
|
{1:~ }|
{1:~ }|
@@ -1440,7 +1440,7 @@ describe('ext_multigrid', function()
[4:-----------------------------------------------------]|
{12:[No Name] }|
|
- ## grid 2
+ ## grid 2 (hidden)
|
{1:~ }|
{1:~ }|
@@ -1452,7 +1452,7 @@ describe('ext_multigrid', function()
{1:~ }|
{1:~ }|
{1:~ }|
- ## grid 3
+ ## grid 3 (hidden)
|
{1:~ }|
{1:~ }|
diff --git a/test/functional/ui/popupmenu_spec.lua b/test/functional/ui/popupmenu_spec.lua
index 9bfea28ed7..c4cfc9d8d3 100644
--- a/test/functional/ui/popupmenu_spec.lua
+++ b/test/functional/ui/popupmenu_spec.lua
@@ -1644,6 +1644,7 @@ describe('builtin popupmenu', function()
[42] = {foreground = tonumber('0x0c0c0c'), background = tonumber('0xe5a8e5')},
[43] = {background = tonumber('0x7f5d7f'), bold = true, foreground = tonumber('0x3f3f3f')},
[44] = {foreground = tonumber('0x3f3f3f'), background = tonumber('0x7f5d7f')},
+ [45] = {background = Screen.colors.WebGray, blend=0},
})
command('syntax on')
command('set mouse=a')
@@ -1761,7 +1762,7 @@ describe('builtin popupmenu', function()
Lorem ipsum d{1:ol}or sit amet, consectetur |
adipisicing elit, sed do eiusmod tempor |
bla bla incididunt^ |
- incidid{22: incididunt }{27: }d{1:ol}ore magna aliqua. |
+ incidid{45: incididunt }{27: }d{1:ol}ore magna aliqua. |
Ut enim{28: }{29:ut}{28: minim veniam}{25:,} quis nostrud |
exercit{28:a}{29:labore}{28:llamco la}{25:b}oris nisi ut aliquip ex |
{2:[No Nam}{30:e}{43:et}{30:[+] }{32: }{2: }|
diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua
index 81a15cada2..df0fce4199 100644
--- a/test/functional/ui/screen.lua
+++ b/test/functional/ui/screen.lua
@@ -316,9 +316,10 @@ local ext_keys = {
-- cmdline_block: Expected ext_cmdline block (for function definitions)
-- wildmenu_items: Expected items for ext_wildmenu
-- wildmenu_pos: Expected position for ext_wildmenu
-function Screen:expect(expected, attr_ids, attr_ignore)
+function Screen:expect(expected, attr_ids, attr_ignore, ...)
local grid, condition = nil, nil
local expected_rows = {}
+ assert(next({...}) == nil, "invalid args to expect()")
if type(expected) == "table" then
assert(not (attr_ids ~= nil or attr_ignore ~= nil))
local is_key = {grid=true, attr_ids=true, attr_ignore=true, condition=true,
@@ -1211,7 +1212,11 @@ function Screen:render(headers, attr_state, preview)
local rv = {}
for igrid,grid in pairs(self._grids) do
if headers then
- table.insert(rv, "## grid "..igrid)
+ local suffix = ""
+ if igrid > 1 and self.win_position[igrid] == nil and self.float_pos[igrid] == nil then
+ suffix = " (hidden)"
+ end
+ table.insert(rv, "## grid "..igrid..suffix)
end
for i = 1, grid.height do
local cursor = self._cursor.grid == igrid and self._cursor.row == i
@@ -1491,7 +1496,7 @@ function Screen:_equal_attrs(a, b)
a.underline == b.underline and a.undercurl == b.undercurl and
a.italic == b.italic and a.reverse == b.reverse and
a.foreground == b.foreground and a.background == b.background and
- a.special == b.special
+ a.special == b.special and a.blend == b.blend
end
function Screen:_equal_info(a, b)