view src/testdir/test31.in @ 9391:4c40631238e4 v7.4.1977

commit https://github.com/vim/vim/commit/bde9810d6103ffe3a22a9330021cb21db1ed1792 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Jul 1 20:03:42 2016 +0200 patch 7.4.1977 Problem: With 64 bit changes don't need three calls to sprintf(). Solution: Simplify the code, use vim_snprintf(). (Ken Takata)
author Christian Brabandt <cb@256bit.org>
date Fri, 01 Jul 2016 20:15:05 +0200
parents ef60fac8f3eb
children
line wrap: on
line source

Test for commands that close windows and/or buffers:
:quit
:close
:hide
:only
:sall
:all
:ball
:buf
:edit

STARTTEST
:so small.vim
GA 1:$w! Xtest1
$r2:$w! Xtest2
$r3:$w! Xtest3
:n! Xtest1 Xtest2
A 1:set hidden
:" test for working :n when hidden set; write "testtext 2"
:n
:w! test.out
:" test for failing :rew when hidden not set; write "testtext 2 2"
:set nohidden
A 2:rew
:w >>test.out
:" test for working :rew when hidden set; write "testtext 1 1"
:set hidden
:rew
:w >>test.out
:" test for :all keeping a buffer when it's modified; write "testtext 1 1 1"
:set nohidden
A 1:sp
:n Xtest2 Xtest3
:all
:1wincmd w
:w >>test.out
:" test abandoning changed buffer, should be unloaded even when 'hidden' set
:" write "testtext 2 2" twice
:set hidden
A 1:q!
:w >>test.out
:unhide
:w >>test.out
:" test ":hide" hides anyway when 'hidden' not set; write "testtext 3"
:set nohidden
A 2:hide
:w >>test.out
:" test ":edit" failing in modified buffer when 'hidden' not set
:" write "testtext 3 3"
A 3:e Xtest1
:w >>test.out
:" test ":edit" working in modified buffer when 'hidden' set; write "testtext 1"
:set hidden
:e Xtest1
:w >>test.out
:" test ":close" not hiding when 'hidden' not set in modified buffer;
:" write "testtext 3 3 3"
:sp Xtest3
:set nohidden
A 3:close
:w >>test.out
:" test ":close!" does hide when 'hidden' not set in modified buffer;
:" write "testtext 1"
A 3:close!
:w >>test.out
:set nohidden
:" test ":all!" hides changed buffer; write "testtext 2 2 2"
:sp Xtest4
GA 4:all!
:1wincmd w
:w >>test.out
:"
:" test ":q!" and hidden buffer.
:bw! Xtest1 Xtest2 Xtest3 Xtest4
:sp Xtest1
:wincmd w
:bw!
:set modified
:bot sp Xtest2
:set modified
:bot sp Xtest3
:set modified
:wincmd t
:hide
:q!
:w >>test.out
:q!
:w >>test.out
:q!
:call append(line('$'), "Oh, Not finished yet.")
:w >>test.out
:qa!
ENDTEST

testtext