diff options
author | Magnus Groß <magnus.gross@rwth-aachen.de> | 2021-10-23 20:55:52 +0200 |
---|---|---|
committer | Magnus Groß <magnus.gross@rwth-aachen.de> | 2021-11-18 11:23:18 +0100 |
commit | fdfd1eda434b70b02b4cb804546c97ef8ff09049 (patch) | |
tree | 39fcf590ffa0543f0ad2de53562653887eeb9374 /test/functional/autocmd/modechanged_spec.lua | |
parent | 11683193f597e1b3144ba65f08056cd44b19175f (diff) | |
download | rneovim-fdfd1eda434b70b02b4cb804546c97ef8ff09049.tar.gz rneovim-fdfd1eda434b70b02b4cb804546c97ef8ff09049.tar.bz2 rneovim-fdfd1eda434b70b02b4cb804546c97ef8ff09049.zip |
feat: trigger ModeChanged for terminal modes
Diffstat (limited to 'test/functional/autocmd/modechanged_spec.lua')
-rw-r--r-- | test/functional/autocmd/modechanged_spec.lua | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/functional/autocmd/modechanged_spec.lua b/test/functional/autocmd/modechanged_spec.lua new file mode 100644 index 0000000000..be5a291ac9 --- /dev/null +++ b/test/functional/autocmd/modechanged_spec.lua @@ -0,0 +1,31 @@ +local helpers = require('test.functional.helpers')(after_each) +local clear, eval, eq = helpers.clear, helpers.eval, helpers.eq +local feed, command = helpers.feed, helpers.command + +describe('ModeChanged', function() + before_each(function() + clear() + command('let g:count = 0') + command('au ModeChanged * let g:event = copy(v:event)') + command('au ModeChanged * let g:count += 1') + end) + + it('picks up terminal mode changes', function() + command("term") + feed('i') + eq({ + old_mode = 'nt', + new_mode = 't' + }, eval('g:event')) + feed('<c-\\><c-n>') + eq({ + old_mode = 't', + new_mode = 'nt' + }, eval('g:event')) + eq(3, eval('g:count')) + command("bd!") + + -- v:event is cleared after the autocommand is done + eq({}, eval('v:event')) + end) +end) |