aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorUsama Hameed <usama54321@gmail.com>2019-09-15 03:54:19 +0500
committerJustin M. Keyes <justinkz@gmail.com>2019-09-14 15:54:19 -0700
commitfc27dc98d74f0e25bf1dc2cb8ff399b05ccd6f2c (patch)
tree65bc3f2ad808f50247ce923861db0dad20fe644b /test
parent8c88d98df955ebf2fb93506c19ce2af82e24a2df (diff)
downloadrneovim-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)