aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJames McCoy <jamessan@jamessan.com>2017-01-17 10:46:32 -0500
committerJames McCoy <jamessan@jamessan.com>2017-01-18 11:24:34 -0500
commit4322021baeefed655ebc345fed8fa019e466728d (patch)
tree78ffb7eafa83dc8b1cb7e9b5f537ef46b59ce6f4 /test
parentd3b4764dc137e0f6f2c219244e00fba92a64a384 (diff)
downloadrneovim-4322021baeefed655ebc345fed8fa019e466728d.tar.gz
rneovim-4322021baeefed655ebc345fed8fa019e466728d.tar.bz2
rneovim-4322021baeefed655ebc345fed8fa019e466728d.zip
test: screen: Assert expected row count matches configured screen height
When there is a difference in expected vs. actual row count, the user gets a confusing message about being unable to string concat a nil value from screen:expect. This assert makes it clear what the problem is rather than requiring people to dig through the code of screen:expect to determine what happened.
Diffstat (limited to 'test')
-rw-r--r--test/functional/ui/screen.lua8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua
index 2581b36711..b5d29c0200 100644
--- a/test/functional/ui/screen.lua
+++ b/test/functional/ui/screen.lua
@@ -205,6 +205,9 @@ end
function Screen:try_resize(columns, rows)
uimeths.try_resize(columns, rows)
+ -- Give ourselves a chance to _handle_resize, which requires using
+ -- self.sleep() (for the resize notification) rather than run()
+ self:sleep(0.1)
end
-- Asserts that `expected` eventually matches the screen state.
@@ -224,6 +227,11 @@ function Screen:expect(expected, attr_ids, attr_ignore, condition, any)
row = row:sub(1, #row - 1)
table.insert(expected_rows, row)
end
+ if not any then
+ assert(self._height == #expected_rows,
+ "Expected screen state's row count(" .. #expected_rows
+ .. ') differs from configured height(' .. self._height .. ') of Screen.')
+ end
local ids = attr_ids or self._default_attr_ids
local ignore = attr_ignore or self._default_attr_ignore
self:wait(function()