Files
neovim/src/nvim/testdir/test8.in
Michael Ennen e70cae426c test: Remove references to tiny.vim/small.vim/mbyte.vim
Vim creates these scripts in test1 depending on what build features
are enabled so that tests that use these features are skiped if
necessary. Because Neovim only has one type of build (and the features
+eval, +windows, and +multi-byte are enabled in this build) they are
not necessary.
2016-05-22 15:55:38 -04:00

1.2 KiB

Test for BufWritePre autocommand that deletes or unloads the buffer.
Test for BufUnload autocommand that unloads all other buffers.
 
STARTTEST
:au BufWritePre Xxx1 bunload
:au BufWritePre Xxx2 bwipe
/^start of
A1:.,/end of/w! Xxx1 " write test file Xxx1
$r2:.,/end of/w! Xxx2 " write test file Xxx2
:e! Xxx2 " edit Xxx2
:bdel test8.in " delete this file from the buffer list
:e Xxx1 " edit Xxx1
:w " write it, will unload it and give an error msg
:w! test.out " Write contents of this file
:e! Xxx2 " start editing Xxx2
:bwipe test.out " remove test.out from the buffer list
:w " write it, will delete the buffer and give an error msg
:w >>test.out " Append contents of this file
:au! BufWritePre
:func CloseAll()
let i = 0
while i <= bufnr('$')
if i != bufnr('%') && bufloaded(i)
exe i . "bunload"
endif
let i += 1
endwhile
endfunc
:func WriteToOut()
edit! test.out
$put ='VimLeave done'
write
endfunc
:set shada='100
:au BufUnload * call CloseAll()
:au VimLeave * call WriteToOut()
:q
:qa!
ENDTEST
 
start of Xxx
test
end of Xxx