neovim/test/old/testdir/test_hide.vim
dundargoc af23d17388
test: move oldtests to test directory (#22536)
The new oldtest directory is in test/old/testdir. The reason for this is
that many tests have hardcoded the parent directory name to be
'testdir'.
2023-03-07 11:13:04 +08:00

98 lines
2.4 KiB
VimL

" Tests for :hide command/modifier and 'hidden' option
func SetUp()
let s:save_hidden = &hidden
let s:save_bufhidden = &bufhidden
let s:save_autowrite = &autowrite
set nohidden
set bufhidden=
set noautowrite
endfunc
function TearDown()
let &hidden = s:save_hidden
let &bufhidden = s:save_bufhidden
let &autowrite = s:save_autowrite
endfunc
function Test_hide()
let orig_bname = bufname('')
let orig_winnr = winnr('$')
new Xf1
set modified
call assert_fails('edit Xf2')
bwipeout! Xf1
new Xf1
set modified
edit! Xf2
call assert_equal(['Xf2', 2], [bufname(''), winnr('$')])
call assert_equal([1, 0], [buflisted('Xf1'), bufloaded('Xf1')])
bwipeout! Xf1
bwipeout! Xf2
new Xf1
set modified
" :hide as a command
hide
call assert_equal([orig_bname, orig_winnr], [bufname(''), winnr('$')])
call assert_equal([1, 1], ['Xf1'->buflisted(), 'Xf1'->bufloaded()])
bwipeout! Xf1
new Xf1
set modified
" :hide as a command with trailing comment
hide " comment
call assert_equal([orig_bname, orig_winnr], [bufname(''), winnr('$')])
call assert_equal([1, 1], [buflisted('Xf1'), bufloaded('Xf1')])
bwipeout! Xf1
new Xf1
set modified
" :hide as a command with bar
hide | new Xf2 " comment
call assert_equal(['Xf2', 2], [bufname(''), winnr('$')])
call assert_equal([1, 1], [buflisted('Xf1'), bufloaded('Xf1')])
bwipeout! Xf1
bwipeout! Xf2
new Xf1
set modified
" :hide as a modifier with trailing comment
hide edit Xf2 " comment
call assert_equal(['Xf2', 2], [bufname(''), winnr('$')])
call assert_equal([1, 1], [buflisted('Xf1'), bufloaded('Xf1')])
bwipeout! Xf1
bwipeout! Xf2
new Xf1
set modified
" To check that the bar is not recognized to separate commands
hide echo "one|two"
call assert_equal(['Xf1', 2], [bufname(''), winnr('$')])
call assert_equal([1, 1], [buflisted('Xf1'), bufloaded('Xf1')])
bwipeout! Xf1
" set hidden
new Xf1
set hidden
set modified
edit Xf2 " comment
call assert_equal(['Xf2', 2], [bufname(''), winnr('$')])
call assert_equal([1, 1], [buflisted('Xf1'), bufloaded('Xf1')])
bwipeout! Xf1
bwipeout! Xf2
" set hidden bufhidden=wipe
new Xf1
set bufhidden=wipe
set modified
hide edit! Xf2 " comment
call assert_equal(['Xf2', 2], [bufname(''), winnr('$')])
call assert_equal([0, 0], [buflisted('Xf1'), bufloaded('Xf1')])
bwipeout! Xf2
endfunc
" vim: shiftwidth=2 sts=2 expandtab