diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-02-09 19:48:17 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-09 19:48:17 +0800 |
commit | 1b379ce4302e727e01daa051c047e97359ee34e8 (patch) | |
tree | f2b740808d695cbc66367d0b243dfa19df53f144 | |
parent | ad00b034261dac70f728012339bd05fc89f8e90e (diff) | |
download | rneovim-1b379ce4302e727e01daa051c047e97359ee34e8.tar.gz rneovim-1b379ce4302e727e01daa051c047e97359ee34e8.tar.bz2 rneovim-1b379ce4302e727e01daa051c047e97359ee34e8.zip |
test(exit_spec): make sure that autocommands are triggered (#22188)
Previously, if the autocommands are not triggered, the tests may still
pass because no assertion is done. Add an assertion so that the tests
will fail if the autocommands aren't triggered.
-rw-r--r-- | test/functional/core/exit_spec.lua | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/test/functional/core/exit_spec.lua b/test/functional/core/exit_spec.lua index 05a69e1992..dc4b45b4d9 100644 --- a/test/functional/core/exit_spec.lua +++ b/test/functional/core/exit_spec.lua @@ -25,30 +25,34 @@ describe('v:exiting', function() eq(1, eval('v:exiting is v:null')) end) - it('is 0 on normal exit', function() + local function test_exiting(setup_fn) local function on_setup() - command('autocmd VimLeavePre * call rpcrequest('..cid..', "")') - command('autocmd VimLeave * call rpcrequest('..cid..', "")') - command('quit') + command('autocmd VimLeavePre * call rpcrequest('..cid..', "exit", "VimLeavePre")') + command('autocmd VimLeave * call rpcrequest('..cid..', "exit", "VimLeave")') + setup_fn() end - local function on_request() + local requests_args = {} + local function on_request(name, args) + eq('exit', name) + table.insert(requests_args, args) eq(0, eval('v:exiting')) return '' end run(on_request, nil, on_setup) + eq({{'VimLeavePre'}, {'VimLeave'}}, requests_args) + end + + it('is 0 on normal exit', function() + test_exiting(function() + command('quit') + end) end) + it('is 0 on exit from Ex mode involving try-catch vim-patch:8.0.0184', function() - local function on_setup() - command('autocmd VimLeavePre * call rpcrequest('..cid..', "")') - command('autocmd VimLeave * call rpcrequest('..cid..', "")') + test_exiting(function() feed('gQ') feed_command('try', 'call NoFunction()', 'catch', 'echo "bye"', 'endtry', 'quit') - end - local function on_request() - eq(0, eval('v:exiting')) - return '' - end - run(on_request, nil, on_setup) + end) end) end) |