diff options
author | James McCoy <jamessan@jamessan.com> | 2017-01-17 10:46:32 -0500 |
---|---|---|
committer | James McCoy <jamessan@jamessan.com> | 2017-01-18 11:24:34 -0500 |
commit | 4322021baeefed655ebc345fed8fa019e466728d (patch) | |
tree | 78ffb7eafa83dc8b1cb7e9b5f537ef46b59ce6f4 /test | |
parent | d3b4764dc137e0f6f2c219244e00fba92a64a384 (diff) | |
download | rneovim-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.lua | 8 |
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() |