view src/testdir/test_exit.vim @ 14730:193471015e1a v8.1.0377

patch 8.1.0377: xdiff doesn't use the Vim memory allocation functions commit https://github.com/vim/vim/commit/42335f50bc6fac444a8af74c81df8369d722a6fb Author: Bram Moolenaar <Bram@vim.org> Date: Thu Sep 13 15:33:43 2018 +0200 patch 8.1.0377: xdiff doesn't use the Vim memory allocation functions Problem: Xdiff doesn't use the Vim memory allocation functions. Solution: Change the xdl_ defines. Check for out-of-memory. Rename "ignored" to "vim_ignored".
author Christian Brabandt <cb@256bit.org>
date Thu, 13 Sep 2018 15:45:05 +0200
parents 94e638936d3e
children 9c90cf08cfa8
line wrap: on
line source

" 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