diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2019-11-09 23:16:52 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-09 23:16:52 -0800 |
commit | ece3d19b026b80c933e650c4422f8b1a4ab4bde9 (patch) | |
tree | 24400f4eb3be31db2a4d9fa0999bb9ca3ef0344c /test/functional/ui | |
parent | 268252c8c729fa6076037c04966c0a6e694dab75 (diff) | |
parent | 4abb67c027e93afac8c2f436d48956fffcd69848 (diff) | |
download | rneovim-ece3d19b026b80c933e650c4422f8b1a4ab4bde9.tar.gz rneovim-ece3d19b026b80c933e650c4422f8b1a4ab4bde9.tar.bz2 rneovim-ece3d19b026b80c933e650c4422f8b1a4ab4bde9.zip |
Merge #11004 'test/Screen:expect: support "{MATCH:…}"'
Diffstat (limited to 'test/functional/ui')
-rw-r--r-- | test/functional/ui/messages_spec.lua | 14 | ||||
-rw-r--r-- | test/functional/ui/screen.lua | 9 |
2 files changed, 12 insertions, 11 deletions
diff --git a/test/functional/ui/messages_spec.lua b/test/functional/ui/messages_spec.lua index d16559bab2..8ad3aff21f 100644 --- a/test/functional/ui/messages_spec.lua +++ b/test/functional/ui/messages_spec.lua @@ -122,7 +122,7 @@ describe('ui/ext_messages', function() feed('G$x') screen:expect{grid=[[ line 1 | - {IGNORE}| + {MATCH:.*}| {1:~ }| {1:~ }| {1:~ }| @@ -966,7 +966,7 @@ describe('ui/ext_messages', function() {1:~ }| {1:~ }| {1:~ }| - {IGNORE}| + {MATCH:.*}| {1:~ }| {1:~ }Nvim is open source and freely distributable{1: }| {1:~ }https://neovim.io/#chat{1: }| @@ -976,8 +976,8 @@ describe('ui/ext_messages', function() {1:~ }type :q{5:<Enter>} to exit {1: }| {1:~ }type :help{5:<Enter>} for help {1: }| {1:~ }| - {IGNORE}| - {IGNORE}| + {MATCH:.*}| + {MATCH:.*}| {1:~ }| {1:~ }| {1:~ }| @@ -1022,7 +1022,7 @@ describe('ui/ext_messages', function() | | | - {IGNORE}| + {MATCH:.*}| | Nvim is open source and freely distributable | https://neovim.io/#chat | @@ -1032,8 +1032,8 @@ describe('ui/ext_messages', function() type :q{5:<Enter>} to exit | type :help{5:<Enter>} for help | | - {IGNORE}| - {IGNORE}| + {MATCH:.*}| + {MATCH:.*}| | | | diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua index 41e022791e..d3f78bf77b 100644 --- a/test/functional/ui/screen.lua +++ b/test/functional/ui/screen.lua @@ -269,7 +269,7 @@ local ext_keys = { -- grid: Expected screen state (string). Each line represents a screen -- row. Last character of each row (typically "|") is stripped. -- Common indentation is stripped. --- Lines containing only "{IGNORE}|" are skipped. +-- "{MATCH:x}|" lines are matched against Lua pattern `x`. -- attr_ids: Expected text attributes. Screen rows are transformed according -- to this table, as follows: each substring S composed of -- characters having the same attributes will be substituted by @@ -390,9 +390,10 @@ function Screen:expect(expected, attr_ids, ...) err_msg = "Expected screen height " .. #expected_rows .. ' differs from actual height ' .. #actual_rows .. '.' end - for i = 1, #expected_rows do - msg_expected_rows[i] = expected_rows[i] - if expected_rows[i] ~= actual_rows[i] and expected_rows[i] ~= "{IGNORE}|" then + for i, row in ipairs(expected_rows) do + msg_expected_rows[i] = row + local m = (row ~= actual_rows[i] and row:match('{MATCH:(.*)}') or nil) + if row ~= actual_rows[i] and (not m or not actual_rows[i]:match(m)) then msg_expected_rows[i] = '*' .. msg_expected_rows[i] if i <= #actual_rows then actual_rows[i] = '*' .. actual_rows[i] |