diff options
author | Usama Hameed <usama54321@gmail.com> | 2019-09-15 03:54:19 +0500 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2019-09-14 15:54:19 -0700 |
commit | fc27dc98d74f0e25bf1dc2cb8ff399b05ccd6f2c (patch) | |
tree | 65bc3f2ad808f50247ce923861db0dad20fe644b /test | |
parent | 8c88d98df955ebf2fb93506c19ce2af82e24a2df (diff) | |
download | rneovim-fc27dc98d74f0e25bf1dc2cb8ff399b05ccd6f2c.tar.gz rneovim-fc27dc98d74f0e25bf1dc2cb8ff399b05ccd6f2c.tar.bz2 rneovim-fc27dc98d74f0e25bf1dc2cb8ff399b05ccd6f2c.zip |
autocmds: TermEnter, TermLeave #8550
fix #8428
Diffstat (limited to 'test')
-rw-r--r-- | test/functional/autocmd/termxx_spec.lua (renamed from test/functional/autocmd/termclose_spec.lua) | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/test/functional/autocmd/termclose_spec.lua b/test/functional/autocmd/termxx_spec.lua index 50bcf1af5a..b12c24b58d 100644 --- a/test/functional/autocmd/termclose_spec.lua +++ b/test/functional/autocmd/termxx_spec.lua @@ -9,8 +9,7 @@ local ok = helpers.ok local feed = helpers.feed local iswin = helpers.iswin - -describe('TermClose event', function() +describe('autocmd TermClose', function() before_each(function() clear() nvim('set_option', 'shell', nvim_dir .. '/shell-test') @@ -92,3 +91,37 @@ describe('TermClose event', function() feed('<c-c>:qa!<cr>') end) end) + +it('autocmd TermEnter, TermLeave', function() + clear() + command('let g:evs = []') + command('autocmd TermOpen * call add(g:evs, ["TermOpen", mode()])') + command('autocmd TermClose * call add(g:evs, ["TermClose", mode()])') + command('autocmd TermEnter * call add(g:evs, ["TermEnter", mode()])') + command('autocmd TermLeave * call add(g:evs, ["TermLeave", mode()])') + command('terminal') + + feed('i') + eq({ {'TermOpen', 'n'}, {'TermEnter', 't'}, }, eval('g:evs')) + feed([[<C-\><C-n>]]) + feed('A') + eq({ {'TermOpen', 'n'}, {'TermEnter', 't'}, {'TermLeave', 'n'}, {'TermEnter', 't'}, }, eval('g:evs')) + + -- TermLeave is also triggered by :quit. + command('split foo') + command('wincmd w') + feed('i') + command('q!') + eq( + { + {'TermOpen', 'n'}, + {'TermEnter', 't'}, + {'TermLeave', 'n'}, + {'TermEnter', 't'}, + {'TermLeave', 'n'}, + {'TermEnter', 't'}, + {'TermClose', 't'}, + {'TermLeave', 'n'}, + }, + eval('g:evs')) +end) |