blob: 8f02fd29e35dd7c950eac4695b2fd79294eb23ae [file] [log] [blame]
Bram Moolenaar12a96de2018-03-11 14:44:18 +01001" Tests for exiting Vim.
2
3source shared.vim
4
5func Test_exiting()
6 let after = [
7 \ 'au QuitPre * call writefile(["QuitPre"], "Xtestout")',
8 \ 'au ExitPre * call writefile(["ExitPre"], "Xtestout", "a")',
9 \ 'quit',
10 \ ]
11 if RunVim([], after, '')
12 call assert_equal(['QuitPre', 'ExitPre'], readfile('Xtestout'))
13 endif
14 call delete('Xtestout')
15
16 let after = [
17 \ 'au QuitPre * call writefile(["QuitPre"], "Xtestout")',
18 \ 'au ExitPre * call writefile(["ExitPre"], "Xtestout", "a")',
19 \ 'help',
20 \ 'wincmd w',
21 \ 'quit',
22 \ ]
23 if RunVim([], after, '')
24 call assert_equal(['QuitPre', 'ExitPre'], readfile('Xtestout'))
25 endif
26 call delete('Xtestout')
27
28 let after = [
29 \ 'au QuitPre * call writefile(["QuitPre"], "Xtestout")',
30 \ 'au ExitPre * call writefile(["ExitPre"], "Xtestout", "a")',
31 \ 'split',
32 \ 'new',
33 \ 'qall',
34 \ ]
35 if RunVim([], after, '')
36 call assert_equal(['QuitPre', 'ExitPre'], readfile('Xtestout'))
37 endif
38 call delete('Xtestout')
39
40 let after = [
41 \ 'au QuitPre * call writefile(["QuitPre"], "Xtestout", "a")',
42 \ 'au ExitPre * call writefile(["ExitPre"], "Xtestout", "a")',
43 \ 'augroup nasty',
44 \ ' au ExitPre * split',
45 \ 'augroup END',
46 \ 'quit',
47 \ 'augroup nasty',
48 \ ' au! ExitPre',
49 \ 'augroup END',
50 \ 'quit',
51 \ ]
52 if RunVim([], after, '')
53 call assert_equal(['QuitPre', 'ExitPre', 'QuitPre', 'ExitPre'],
54 \ readfile('Xtestout'))
55 endif
56 call delete('Xtestout')
57endfunc