aboutsummaryrefslogtreecommitdiff
path: root/test/functional
diff options
context:
space:
mode:
authorEvgeni Chasnovski <evgeni.chasnovski@gmail.com>2024-02-22 21:54:21 +0200
committerGitHub <noreply@github.com>2024-02-22 13:54:21 -0600
commit85cb0b0ddc59cd1b3a911e5b4a358e5404c1d0d8 (patch)
treed0cdb4c7a64ae020d882ea7c9246f575ab288b3c /test/functional
parent0760d986800ada048459196914dfa51213daa9a6 (diff)
downloadrneovim-85cb0b0ddc59cd1b3a911e5b4a358e5404c1d0d8.tar.gz
rneovim-85cb0b0ddc59cd1b3a911e5b4a358e5404c1d0d8.tar.bz2
rneovim-85cb0b0ddc59cd1b3a911e5b4a358e5404c1d0d8.zip
fix(defaults): make terminal autoclose not block other events (#27581)
Problem: When terminal is autocloses, it blocks other events, like `BufEnter`. Solution: Use `nested = true`.
Diffstat (limited to 'test/functional')
-rw-r--r--test/functional/options/defaults_spec.lua19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/functional/options/defaults_spec.lua b/test/functional/options/defaults_spec.lua
index 10a0baa30b..d27fa375ee 100644
--- a/test/functional/options/defaults_spec.lua
+++ b/test/functional/options/defaults_spec.lua
@@ -1232,3 +1232,22 @@ describe('stdpath()', function()
end)
end)
end)
+
+describe('autocommands', function()
+ it('closes terminal with default shell on success', function()
+ api.nvim_set_option_value('shell', helpers.testprg('shell-test'), {})
+ command('set shellcmdflag=EXIT shellredir= shellpipe= shellquote= shellxquote=')
+
+ -- Should not block other events
+ command('let g:n=0')
+ command('au BufEnter * let g:n = g:n + 1')
+
+ command('terminal')
+ eq(eval('get(g:, "n", 0)'), 1)
+
+ helpers.retry(nil, 1000, function()
+ neq(api.nvim_get_option_value('buftype', { buf = 0 }), 'terminal')
+ eq(eval('get(g:, "n", 0)'), 2)
+ end)
+ end)
+end)