| " 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 |