diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-03-11 14:44:18 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-03-11 14:44:18 +0100 |
commit | 12a96de430779b88795fac87a2be666d9f661d1e (patch) | |
tree | 141184af18ba4ae4f2c61dd1a2aa4961446ba370 /src/testdir | |
parent | 435acdb88c849c6bac44ef30f24f29618b36af50 (diff) |
patch 8.0.1595: no autocommand triggered before exitingv8.0.1595
Problem: No autocommand triggered before exiting.
Solution: Add the ExitPre autocommand event.
Diffstat (limited to 'src/testdir')
-rw-r--r-- | src/testdir/Make_all.mak | 1 | ||||
-rw-r--r-- | src/testdir/test_exit.vim | 57 |
2 files changed, 58 insertions, 0 deletions
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak index e3230c5540..159bf1ece6 100644 --- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -97,6 +97,7 @@ NEW_TESTS = test_arabic.res \ test_exec_while_if.res \ test_exists.res \ test_exists_autocmd.res \ + test_exit.res \ test_farsi.res \ test_file_size.res \ test_find_complete.res \ diff --git a/src/testdir/test_exit.vim b/src/testdir/test_exit.vim new file mode 100644 index 0000000000..8f02fd29e3 --- /dev/null +++ b/src/testdir/test_exit.vim @@ -0,0 +1,57 @@ +" Tests for exiting Vim. + +source shared.vim + +func Test_exiting() + let after = [ + \ 'au QuitPre * call writefile(["QuitPre"], "Xtestout")', + \ 'au ExitPre * call writefile(["ExitPre"], "Xtestout", "a")', + \ 'quit', + \ ] + if RunVim([], after, '') + call assert_equal(['QuitPre', 'ExitPre'], readfile('Xtestout')) + endif + call delete('Xtestout') + + let after = [ + \ 'au QuitPre * call writefile(["QuitPre"], "Xtestout")', + \ 'au ExitPre * call writefile(["ExitPre"], "Xtestout", "a")', + \ 'help', + \ 'wincmd w', + \ 'quit', + \ ] + if RunVim([], after, '') + call assert_equal(['QuitPre', 'ExitPre'], readfile('Xtestout')) + endif + call delete('Xtestout') + + let after = [ + \ 'au QuitPre * call writefile(["QuitPre"], "Xtestout")', + \ 'au ExitPre * call writefile(["ExitPre"], "Xtestout", "a")', + \ 'split', + \ 'new', + \ 'qall', + \ ] + if RunVim([], after, '') + call assert_equal(['QuitPre', 'ExitPre'], readfile('Xtestout')) + endif + call delete('Xtestout') + + let after = [ + \ 'au QuitPre * call writefile(["QuitPre"], "Xtestout", "a")', + \ 'au ExitPre * call writefile(["ExitPre"], "Xtestout", "a")', + \ 'augroup nasty', + \ ' au ExitPre * split', + \ 'augroup END', + \ 'quit', + \ 'augroup nasty', + \ ' au! ExitPre', + \ 'augroup END', + \ 'quit', + \ ] + if RunVim([], after, '') + call assert_equal(['QuitPre', 'ExitPre', 'QuitPre', 'ExitPre'], + \ readfile('Xtestout')) + endif + call delete('Xtestout') +endfunc |