xref: /vim-8.2.3635/src/testdir/test_exit.vim (revision 5be4ceec)
1" Tests for exiting Vim.
2
3source shared.vim
4
5func Test_exiting()
6  let after =<< trim [CODE]
7    au QuitPre * call writefile(["QuitPre"], "Xtestout")
8    au ExitPre * call writefile(["ExitPre"], "Xtestout", "a")
9    quit
10  [CODE]
11
12  if RunVim([], after, '')
13    call assert_equal(['QuitPre', 'ExitPre'], readfile('Xtestout'))
14  endif
15  call delete('Xtestout')
16
17  let after =<< trim [CODE]
18    au QuitPre * call writefile(["QuitPre"], "Xtestout")
19    au ExitPre * call writefile(["ExitPre"], "Xtestout", "a")
20    help
21    wincmd w
22    quit
23  [CODE]
24
25  if RunVim([], after, '')
26    call assert_equal(['QuitPre', 'ExitPre'], readfile('Xtestout'))
27  endif
28  call delete('Xtestout')
29
30  let after =<< trim [CODE]
31    au QuitPre * call writefile(["QuitPre"], "Xtestout")
32    au ExitPre * call writefile(["ExitPre"], "Xtestout", "a")
33    split
34    new
35    qall
36  [CODE]
37
38  if RunVim([], after, '')
39    call assert_equal(['QuitPre', 'ExitPre'], readfile('Xtestout'))
40  endif
41  call delete('Xtestout')
42
43  let after =<< trim [CODE]
44    au QuitPre * call writefile(["QuitPre"], "Xtestout", "a")
45    au ExitPre * call writefile(["ExitPre"], "Xtestout", "a")
46    augroup nasty
47      au ExitPre * split
48    augroup END
49    quit
50    augroup nasty
51      au! ExitPre
52    augroup END
53    quit
54  [CODE]
55
56  if RunVim([], after, '')
57    call assert_equal(['QuitPre', 'ExitPre', 'QuitPre', 'ExitPre'],
58	  \ readfile('Xtestout'))
59  endif
60  call delete('Xtestout')
61endfunc
62