diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2016-11-25 17:39:46 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-25 17:39:46 +0100 |
commit | ecd7beb6e4876961075cc211d2b92f987d670dfa (patch) | |
tree | 0f7f02536da708f1282c28176c27b43e937a717e /test/functional/ui/screen_basic_spec.lua | |
parent | 0de6f450e47d09b0432e41f2ab61a0981f056767 (diff) | |
parent | 4b95bb582d9ea95455c5fab93ef31ea497957fb3 (diff) | |
download | rneovim-ecd7beb6e4876961075cc211d2b92f987d670dfa.tar.gz rneovim-ecd7beb6e4876961075cc211d2b92f987d670dfa.tar.bz2 rneovim-ecd7beb6e4876961075cc211d2b92f987d670dfa.zip |
Merge pull request #5666 from bfredl/modechangetest
ui: add tests for ui_mode_change
Diffstat (limited to 'test/functional/ui/screen_basic_spec.lua')
-rw-r--r-- | test/functional/ui/screen_basic_spec.lua | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/test/functional/ui/screen_basic_spec.lua b/test/functional/ui/screen_basic_spec.lua index 2b44b92336..593b6dd763 100644 --- a/test/functional/ui/screen_basic_spec.lua +++ b/test/functional/ui/screen_basic_spec.lua @@ -3,6 +3,7 @@ local Screen = require('test.functional.ui.screen') local spawn, set_session, clear = helpers.spawn, helpers.set_session, helpers.clear local feed, execute = helpers.feed, helpers.execute local insert = helpers.insert +local eq = helpers.eq if helpers.pending_win32(pending) then return end @@ -576,4 +577,70 @@ describe('Screen', function() ]]) end) end) + + describe('mode change', function() + before_each(function() + screen:try_resize(25, 5) + end) + + it('works in normal mode', function() + screen:expect([[ + ^ | + {0:~ }| + {0:~ }| + {0:~ }| + | + ]],nil,nil,function () + eq("normal", screen.mode) + end) + end) + + it('works in insert mode', function() + feed('i') + screen:expect([[ + ^ | + {0:~ }| + {0:~ }| + {0:~ }| + {2:-- INSERT --} | + ]],nil,nil,function () + eq("insert", screen.mode) + end) + + feed('word<esc>') + screen:expect([[ + wor^d | + {0:~ }| + {0:~ }| + {0:~ }| + | + ]], nil, nil, function () + eq("normal", screen.mode) + end) + end) + + it('works in replace mode', function() + feed('R') + screen:expect([[ + ^ | + {0:~ }| + {0:~ }| + {0:~ }| + {2:-- REPLACE --} | + ]], nil, nil, function () + eq("replace", screen.mode) + end) + + feed('word<esc>') + screen:expect([[ + wor^d | + {0:~ }| + {0:~ }| + {0:~ }| + | + ]], nil, nil, function () + eq("normal", screen.mode) + end) + end) + end) end) |