view src/testdir/test_exit.vim @ 16668:81be817c9d9a v8.1.1336

patch 8.1.1336: some eval functionality is not covered by tests commit https://github.com/vim/vim/commit/17aca707f92235b6f962e637e8073162d18e6de2 Author: Bram Moolenaar <Bram@vim.org> Date: Thu May 16 22:24:55 2019 +0200 patch 8.1.1336: some eval functionality is not covered by tests Problem: Some eval functionality is not covered by tests. Solution: Add a few more test cases. (Masato Nishihata, closes https://github.com/vim/vim/issues/4374)
author Bram Moolenaar <Bram@vim.org>
date Thu, 16 May 2019 22:30:06 +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