forked from aniani/vim
Problem: Ranges for arguments, buffers, tabs, etc. are not checked to be
valid but limited to the maximum. This can cause the wrong thing
to happen.
Solution: Give an error for an invalid value. (Marcin Szamotulski)
Use windows range for ":wincmd".
154 lines
2.6 KiB
Plaintext
154 lines
2.6 KiB
Plaintext
Tests for :[count]close! and :[count]hide vim: set ft=vim :
|
||
|
||
STARTTEST
|
||
:so small.vim
|
||
:let tests = []
|
||
:for i in range(5)
|
||
:new
|
||
:endfor
|
||
:4wincmd w
|
||
:close!
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:1close!
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:$close!
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:1wincmd w
|
||
:2close!
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:1wincmd w
|
||
:new
|
||
:new
|
||
:2wincmd w
|
||
:-1close!
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:2wincmd w
|
||
:+1close!
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:e! test.out
|
||
:call append(0, map(copy(tests), 'join(v:val, " ")'))
|
||
:w
|
||
:only!
|
||
:b1
|
||
ENDTEST
|
||
|
||
STARTTEST
|
||
:let tests = []
|
||
:for i in range(5)
|
||
:new
|
||
:endfor
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:4wincmd w
|
||
:.hide
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:1hide
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:$hide
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:1wincmd w
|
||
:2hide
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:1wincmd w
|
||
:new
|
||
:new
|
||
:3wincmd w
|
||
:-hide
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:2wincmd w
|
||
:+hide
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:e! test.out
|
||
:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))
|
||
Go
|
||
:w
|
||
:only!
|
||
:b1
|
||
ENDTEST
|
||
|
||
STARTTEST
|
||
:let tests = []
|
||
:set hidden
|
||
:for i in range(5)
|
||
:new
|
||
:endfor
|
||
:1wincmd w
|
||
:$ hide
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:$-1 close!
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:1wincmd w
|
||
:.+close!
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:e! test.out
|
||
:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))
|
||
Go
|
||
:w
|
||
:only!
|
||
:b1
|
||
ENDTEST
|
||
|
||
STARTTEST
|
||
:let tests = []
|
||
:set hidden
|
||
:for i in range(5)
|
||
:new
|
||
:endfor
|
||
:4wincmd w
|
||
c
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
1c
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
9c
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:1wincmd w
|
||
2c
|
||
:let buffers = []
|
||
:windo call add(buffers, bufnr('%'))
|
||
:call add(tests, buffers)
|
||
:only!
|
||
:e! test.out
|
||
:call append(line('$'), map(copy(tests), 'join(v:val, " ")'))
|
||
:w
|
||
:qa!
|
||
ENDTEST
|
||
|
||
|