diff options
Diffstat (limited to 'test/functional/ui')
| -rw-r--r-- | test/functional/ui/screen.lua | 16 | ||||
| -rw-r--r-- | test/functional/ui/screen_basic_spec.lua | 24 |
2 files changed, 33 insertions, 7 deletions
diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua index 9635f6119c..1d616ed853 100644 --- a/test/functional/ui/screen.lua +++ b/test/functional/ui/screen.lua @@ -259,6 +259,13 @@ This is probably due to an indeterminism in the test. Try adding `wait()` (or even a separate `screen:expect(...)`) at a point of possible indeterminism, typically in between a `feed()` or `execute()` which is non- synchronous, and a synchronous api call. + +Note that sometimes a `wait` can trigger redraws and consequently generate more +indeterminism. If adding `wait` calls seems to increase the frequency of these +messages, try removing every `wait` call in the test. + +If everything else fails, use Screen:redraw_debug to help investigate what is + causing the problem. ]]) local tb = debug.traceback() local index = string.find(tb, '\n%s*%[C]') @@ -333,12 +340,9 @@ function Screen:_handle_mouse_off() self._mouse_enabled = false end -function Screen:_handle_insert_mode() - self._mode = 'insert' -end - -function Screen:_handle_normal_mode() - self._mode = 'normal' +function Screen:_handle_mode_change(mode) + assert(mode == 'insert' or mode == 'replace' or mode == 'normal') + self._mode = mode end function Screen:_handle_set_scroll_region(top, bot, left, right) diff --git a/test/functional/ui/screen_basic_spec.lua b/test/functional/ui/screen_basic_spec.lua index d57c1773b1..421c167300 100644 --- a/test/functional/ui/screen_basic_spec.lua +++ b/test/functional/ui/screen_basic_spec.lua @@ -63,6 +63,29 @@ describe('Screen', function() end end) end) + + it('has correct default title with unnamed file', function() + local expected = '[No Name] - NVIM' + execute('set title') + screen:wait(function() + local actual = screen.title + if actual ~= expected then + return 'Expected title to be "'..expected..'" but was "'..actual..'"' + end + end) + end) + + it('has correct default title with named file', function() + local expected = 'myfile (/mydir) - NVIM' + execute('set title') + execute('file /mydir/myfile') + screen:wait(function() + local actual = screen.title + if actual ~= expected then + return 'Expected title to be "'..expected..'" but was "'..actual..'"' + end + end) + end) end) describe(':set icon', function() @@ -488,7 +511,6 @@ describe('Screen', function() end) it('has minimum width/height values', function() - wait() screen:try_resize(1, 1) screen:expect([[ -- INS^ERT --| |
