From c0abaf9ca604485ceee04ae8ca83c11382febc89 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Thu, 12 Sep 2019 13:06:34 +0200 Subject: tests: Screen:expect: support "{MATCH:…}" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/functional/ui/screen.lua | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'test') diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua index 41e022791e..e9583bf805 100644 --- a/test/functional/ui/screen.lua +++ b/test/functional/ui/screen.lua @@ -391,14 +391,17 @@ function Screen:expect(expected, attr_ids, ...) .. ' differs from actual height ' .. #actual_rows .. '.' end for i = 1, #expected_rows do - msg_expected_rows[i] = expected_rows[i] + msg_expected_rows[i] = expected_rows[i] if expected_rows[i] ~= actual_rows[i] and expected_rows[i] ~= "{IGNORE}|" then - msg_expected_rows[i] = '*' .. msg_expected_rows[i] - if i <= #actual_rows then - actual_rows[i] = '*' .. actual_rows[i] - end - if err_msg == nil then - err_msg = 'Row ' .. tostring(i) .. ' did not match.' + local m = expected_rows[i]:match('{MATCH:(.*)}') + if 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] + end + if err_msg == nil then + err_msg = 'Row ' .. tostring(i) .. ' did not match.' + end end end end -- cgit