aboutsummaryrefslogtreecommitdiff
path: root/test/functional/vimscript/state_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/vimscript/state_spec.lua')
-rw-r--r--test/functional/vimscript/state_spec.lua15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/functional/vimscript/state_spec.lua b/test/functional/vimscript/state_spec.lua
index 1acfb1337d..0508b8b1da 100644
--- a/test/functional/vimscript/state_spec.lua
+++ b/test/functional/vimscript/state_spec.lua
@@ -10,6 +10,7 @@ local poke_eventloop = helpers.poke_eventloop
before_each(clear)
describe('state() function', function()
+ -- oldtest: Test_state()
it('works', function()
meths.ui_attach(80, 24, {}) -- Allow hit-enter-prompt
@@ -51,6 +52,20 @@ describe('state() function', function()
feed(';')
eq({ 'mS', 'n' }, exec_lua('return _G.res'))
+ -- An operator is pending
+ feed([[:call RunTimer()<CR>y]])
+ poke_eventloop() -- Process pending input
+ poke_eventloop() -- Process time_event
+ feed('y')
+ eq({ 'oSc', 'n' }, exec_lua('return _G.res'))
+
+ -- A register was specified
+ feed([[:call RunTimer()<CR>"r]])
+ poke_eventloop() -- Process pending input
+ poke_eventloop() -- Process time_event
+ feed('yy')
+ eq({ 'oSc', 'n' }, exec_lua('return _G.res'))
+
-- Insert mode completion
feed([[:call RunTimer()<CR>Got<C-N>]])
poke_eventloop() -- Process pending input