diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2019-03-13 22:31:07 +0100 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2019-03-14 01:30:11 +0100 |
commit | b1f25ea18797101f423cab23ac52c4e17377c5d4 (patch) | |
tree | 15e80cf350e3898477252c06df412bdfd227b8dc /test | |
parent | 3259e45f926bcde4052e8b989e039f6047c2b205 (diff) | |
download | rneovim-b1f25ea18797101f423cab23ac52c4e17377c5d4.tar.gz rneovim-b1f25ea18797101f423cab23ac52c4e17377c5d4.tar.bz2 rneovim-b1f25ea18797101f423cab23ac52c4e17377c5d4.zip |
autocmd: do not show empty section after ++once handlers expire
Problem: If autocmd pattern only contained `++once` handlers, and
all of them completed, then there would be an empty group
displayed by `:autocmd Foo`.
Solution: Delete the pattern if all of its commands were deleted.
Diffstat (limited to 'test')
-rw-r--r-- | test/functional/autocmd/autocmd_spec.lua | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/functional/autocmd/autocmd_spec.lua b/test/functional/autocmd/autocmd_spec.lua index f666f9cf75..814624d8e2 100644 --- a/test/functional/autocmd/autocmd_spec.lua +++ b/test/functional/autocmd/autocmd_spec.lua @@ -125,5 +125,23 @@ describe('autocmd', function() command("put ='foo bar baz'") feed('0llhlh') eq(expected, eval('g:foo')) + + -- + -- :autocmd should not show empty section after ++once handlers expire. + -- + expected = { + 'Once1', + 'Once2', + } + command('let g:foo = []') + command('autocmd! TabNew') -- Clear all TabNew handlers. + command('autocmd TabNew * ++once :call add(g:foo, "Once1")') + command('autocmd TabNew * ++once :call add(g:foo, "Once2")') + command('tabnew') + eq(expected, eval('g:foo')) + eq(dedent([[ + + --- Autocommands ---]]), + funcs.execute('autocmd Tabnew')) end) end) |