diff --git a/test/functional/editor/mode_insert_spec.lua b/test/functional/editor/mode_insert_spec.lua index 528e228121..c38acbe96a 100644 --- a/test/functional/editor/mode_insert_spec.lua +++ b/test/functional/editor/mode_insert_spec.lua @@ -6,6 +6,8 @@ local expect = helpers.expect local command = helpers.command local eq = helpers.eq local eval = helpers.eval +local meths = helpers.meths +local poke_eventloop = helpers.poke_eventloop describe('insert-mode', function() before_each(function() @@ -128,4 +130,26 @@ describe('insert-mode', function() expect('') end) end) + + describe([[With 'insertmode', Insert mode is not re-entered immediately after ]], function() + before_each(function() + command('set insertmode') + poke_eventloop() + eq({mode = 'i', blocking = false}, meths.get_mode()) + end) + + it('after calling :edit from mapping', function() + command('inoremap edit Xfoo') + feed('') + poke_eventloop() + eq({mode = 'n', blocking = false}, meths.get_mode()) + end) + + it('after calling :edit from RPC #16823', function() + command('edit Xfoo') + feed('') + poke_eventloop() + eq({mode = 'n', blocking = false}, meths.get_mode()) + end) + end) end)