view src/testdir/test13.in @ 9003:072556995a8e v7.4.1787

commit https://github.com/vim/vim/commit/b2658a1ab02cd0ba848164f70c7c464fdc398162 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Apr 26 17:16:24 2016 +0200 patch 7.4.1787 Problem: When a job ends the close callback is invoked before other callbacks. On Windows the close callback is not called. Solution: First invoke out/err callbacks before the close callback. Make the close callback work on Windows.
author Christian Brabandt <cb@256bit.org>
date Tue, 26 Apr 2016 17:30:05 +0200
parents 0229cfffc560
children
line wrap: on
line source

Tests for autocommands on :close command

Write three files and open them, each in a window.
Then go to next window, with autocommand that deletes the previous one.
Do this twice, writing the file.

Also test deleting the buffer on a Unload event.  If this goes wrong there
will be the ATTENTION prompt.

Also test changing buffers in a BufDel autocommand.  If this goes wrong there
are ml_line errors and/or a Crash.

STARTTEST
:so small.vim
:/^start of testfile/,/^end of testfile/w! Xtestje1
:/^start of testfile/,/^end of testfile/w! Xtestje2
:/^start of testfile/,/^end of testfile/w! Xtestje3
:e Xtestje1
otestje1
:w
:sp Xtestje2
otestje2
:w
:sp Xtestje3
otestje3
:w

:au WinLeave Xtestje2 bwipe

:w! test.out
:au WinLeave Xtestje1 bwipe Xtestje3
:close
:w >>test.out
:e Xtestje1
:bwipe Xtestje2 Xtestje3 test.out
:au!
:au! BufUnload Xtestje1 bwipe
:e Xtestje3
:w >>test.out
:e Xtestje2
:sp Xtestje1
:e
:w >>test.out
:au!
:only
:e Xtestje1
:bwipe Xtestje2 Xtestje3 test.out test13.in
:au BufWipeout Xtestje1 buf Xtestje1
:bwipe
:w >>test.out
:only
:help
:wincmd w
:1quit
:$put ='Final line'
:$w >>test.out
:qa!
ENDTEST

start of testfile
	contents
	contents
	contents
end of testfile