219
219
local ids = attr_ids or self._default_attr_ids
220
220
local ignore = attr_ignore or self._default_attr_ignore
221
221
self:wait(function()
222
for i = 1, self._height do
223
local expected_row = expected_rows[i]
224
local actual_row = self:_row_repr(self._rows[i], ids, ignore)
225
if expected_row ~= actual_row then
226
return 'Row '..tostring(i)..' didn\'t match.\nExpected: "'..
227
expected_row..'"\nActual: "'..actual_row..'"'
222
local actual_rows = {}
223
for i = 1, self._height do
224
actual_rows[i] = self:_row_repr(self._rows[i], ids, ignore)
226
for i = 1, self._height do
227
if expected_rows[i] ~= actual_rows[i] then
228
local msg_expected_rows = {}
229
for j = 1, #expected_rows do
230
msg_expected_rows[j] = expected_rows[j]
232
msg_expected_rows[i] = '*' .. msg_expected_rows[i]
233
actual_rows[i] = '*' .. actual_rows[i]
235
'Row ' .. tostring(i) .. ' didn\'t match.\n'
236
.. 'Expected:\n|' .. table.concat(msg_expected_rows, '|\n|') .. '|\n'
237
.. 'Actual:\n|' .. table.concat(actual_rows, '|\n|') .. '|'