diff options
-rw-r--r-- | test/functional/ui/highlight_spec.lua | 4 | ||||
-rw-r--r-- | test/functional/ui/mouse_spec.lua | 23 | ||||
-rw-r--r-- | test/functional/ui/screen.lua | 33 |
3 files changed, 31 insertions, 29 deletions
diff --git a/test/functional/ui/highlight_spec.lua b/test/functional/ui/highlight_spec.lua index 15d5839ca5..417c27db04 100644 --- a/test/functional/ui/highlight_spec.lua +++ b/test/functional/ui/highlight_spec.lua @@ -42,6 +42,8 @@ describe('Default highlight groups', function() clear() screen = Screen.new() screen:attach() + --ignore highligting of ~-lines + screen:set_default_attr_ignore( {{bold=true, foreground=hlgroup_colors.NonText}} ) end) after_each(function() @@ -52,8 +54,6 @@ describe('Default highlight groups', function() [1] = {reverse = true, bold = true}, -- StatusLine [2] = {reverse = true} -- StatusLineNC }) - --ignore highligting of ~-lines - screen:set_default_attr_ignore( {{}, {bold=true, foreground=hlgroup_colors.NonText}} ) execute('sp', 'vsp', 'vsp') screen:expect([[ ^ {2:|} {2:|} | diff --git a/test/functional/ui/mouse_spec.lua b/test/functional/ui/mouse_spec.lua index 9530e13453..77e6be45ed 100644 --- a/test/functional/ui/mouse_spec.lua +++ b/test/functional/ui/mouse_spec.lua @@ -8,6 +8,7 @@ describe('Mouse input', function() setup(function() hlgroup_colors = { + NonText = nvim('name_to_color', 'Blue'), Visual = nvim('name_to_color', 'LightGrey'), } end) @@ -21,8 +22,10 @@ describe('Mouse input', function() screen = Screen.new(25, 5) screen:attach() screen:set_default_attr_ids({ - [1] = {background = hlgroup_colors.Visual} + [1] = {background = hlgroup_colors.Visual}, + [2] = {bold = true} }) + screen:set_default_attr_ignore( {{bold=true, foreground=hlgroup_colors.NonText}} ) feed('itesting<cr>mouse<cr>support and selection<esc>') screen:expect([[ testing | @@ -72,7 +75,7 @@ describe('Mouse input', function() mo{1:us}^ | support and selection | ~ | - -- VISUAL -- | + {2:-- VISUAL --} | ]]) feed('<LeftDrag><2,2>') screen:expect([[ @@ -80,7 +83,7 @@ describe('Mouse input', function() mo{1:use } | {1:su}^port and selection | ~ | - -- VISUAL -- | + {2:-- VISUAL --} | ]]) feed('<LeftDrag><0,0>') screen:expect([[ @@ -88,7 +91,7 @@ describe('Mouse input', function() {1:mou}se | support and selection | ~ | - -- VISUAL -- | + {2:-- VISUAL --} | ]]) end) @@ -99,7 +102,7 @@ describe('Mouse input', function() mouse | {1:suppor}^ and selection | ~ | - -- VISUAL -- | + {2:-- VISUAL --} | ]]) end) @@ -110,7 +113,7 @@ describe('Mouse input', function() mouse | {1:su}^{1:port and selection } | ~ | - -- VISUAL LINE -- | + {2:-- VISUAL LINE --} | ]]) end) @@ -121,7 +124,7 @@ describe('Mouse input', function() mouse | su^port and selection | ~ | - -- VISUAL BLOCK -- | + {2:-- VISUAL BLOCK --} | ]]) end) @@ -140,7 +143,7 @@ describe('Mouse input', function() {1:mouse } | {1:su}^port and selection | ~ | - -- VISUAL -- | + {2:-- VISUAL --} | ]]) end) @@ -153,7 +156,7 @@ describe('Mouse input', function() ing | Press ENTER or type comma| nd to continue^ | - ]]) + ]],nil,true) feed('<cr>') end) @@ -171,6 +174,8 @@ describe('Mouse input', function() ]]) screen:try_resize(53, 14) execute('sp', 'vsp') + screen:set_default_attr_ignore( {{bold=true, foreground=hlgroup_colors.NonText}, + {reverse=true}, {bold=true, reverse=true}} ) screen:expect([[ lines |lines | to |to | diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua index 4a51ef278e..8baae750a6 100644 --- a/test/functional/ui/screen.lua +++ b/test/functional/ui/screen.lua @@ -158,19 +158,11 @@ function Screen:expect(expected, attr_ids, attr_ignore) table.insert(expected_rows, row) end local ids = attr_ids or self._default_attr_ids - if attr_ignore == nil and self._default_attr_ignore ~= nil then - attr_ignore = {} - -- don't ignore something we specified in attr_ids - for i,a in pairs(self._default_attr_ignore) do - if attr_index(ids, a) == nil then - table.insert(attr_ignore, a) - end - end - end + local ignore = attr_ignore or self._default_attr_ignore self:wait(function() for i = 1, self._height do local expected_row = expected_rows[i] - local actual_row = self:_row_repr(self._rows[i], ids, attr_ignore) + local actual_row = self:_row_repr(self._rows[i], ids, ignore) if expected_row ~= actual_row then return 'Row '..tostring(i)..' didnt match.\nExpected: "'.. expected_row..'"\nActual: "'..actual_row..'"' @@ -417,12 +409,16 @@ function Screen:snapshot_util(attrs, ignore) end end - for i = 1, self._height do - local row = self._rows[i] - for j = 1, self._width do - local attr = row[j].attrs - if attr_index(attrs, attr) == nil and attr_index(ignore, attr) == nil then - table.insert(attrs, attr) + if ignore ~= true then + for i = 1, self._height do + local row = self._rows[i] + for j = 1, self._width do + local attr = row[j].attrs + if attr_index(attrs, attr) == nil and attr_index(ignore, attr) == nil then + if not equal_attrs(attr, {}) then + table.insert(attrs, attr) + end + end end end end @@ -468,7 +464,7 @@ function backward_find_meaningful(tbl, from) return from end -function get_attr_id(attr_ids, attr_ignore, attrs) +function get_attr_id(attr_ids, ignore, attrs) if not attr_ids then return end @@ -477,7 +473,8 @@ function get_attr_id(attr_ids, attr_ignore, attrs) return id end end - if attr_ignore == nil or attr_index(attr_ignore, attrs) ~= nil then + if equal_attrs(attrs, {}) or + ignore == true or attr_index(ignore, attrs) ~= nil then -- ignore this attrs return nil end |