xref: /vim-8.2.3635/src/testdir/test_hide.vim (revision bfe13ccc)
12256c994SBram Moolenaar" Tests for :hide command/modifier and 'hidden' option
22256c994SBram Moolenaar
3*bfe13cccSBram Moolenaarfunc SetUp()
42256c994SBram Moolenaar  let s:save_hidden = &hidden
52256c994SBram Moolenaar  let s:save_bufhidden = &bufhidden
62256c994SBram Moolenaar  let s:save_autowrite = &autowrite
72256c994SBram Moolenaar  set nohidden
82256c994SBram Moolenaar  set bufhidden=
92256c994SBram Moolenaar  set noautowrite
102256c994SBram Moolenaarendfunc
112256c994SBram Moolenaar
122256c994SBram Moolenaarfunction TearDown()
132256c994SBram Moolenaar  let &hidden = s:save_hidden
142256c994SBram Moolenaar  let &bufhidden = s:save_bufhidden
152256c994SBram Moolenaar  let &autowrite = s:save_autowrite
162256c994SBram Moolenaarendfunc
172256c994SBram Moolenaar
182256c994SBram Moolenaarfunction Test_hide()
192256c994SBram Moolenaar  let orig_bname = bufname('')
202256c994SBram Moolenaar  let orig_winnr = winnr('$')
212256c994SBram Moolenaar
222256c994SBram Moolenaar  new Xf1
232256c994SBram Moolenaar  set modified
242256c994SBram Moolenaar  call assert_fails('edit Xf2')
252256c994SBram Moolenaar  bwipeout! Xf1
262256c994SBram Moolenaar
272256c994SBram Moolenaar  new Xf1
282256c994SBram Moolenaar  set modified
292256c994SBram Moolenaar  edit! Xf2
302256c994SBram Moolenaar  call assert_equal(['Xf2', 2], [bufname(''), winnr('$')])
312256c994SBram Moolenaar  call assert_equal([1, 0], [buflisted('Xf1'), bufloaded('Xf1')])
322256c994SBram Moolenaar  bwipeout! Xf1
332256c994SBram Moolenaar  bwipeout! Xf2
342256c994SBram Moolenaar
352256c994SBram Moolenaar  new Xf1
362256c994SBram Moolenaar  set modified
372256c994SBram Moolenaar  " :hide as a command
382256c994SBram Moolenaar  hide
392256c994SBram Moolenaar  call assert_equal([orig_bname, orig_winnr], [bufname(''), winnr('$')])
40073e4b92SBram Moolenaar  call assert_equal([1, 1], ['Xf1'->buflisted(), 'Xf1'->bufloaded()])
412256c994SBram Moolenaar  bwipeout! Xf1
422256c994SBram Moolenaar
432256c994SBram Moolenaar  new Xf1
442256c994SBram Moolenaar  set modified
452256c994SBram Moolenaar  " :hide as a command with trailing comment
462256c994SBram Moolenaar  hide " comment
472256c994SBram Moolenaar  call assert_equal([orig_bname, orig_winnr], [bufname(''), winnr('$')])
482256c994SBram Moolenaar  call assert_equal([1, 1], [buflisted('Xf1'), bufloaded('Xf1')])
492256c994SBram Moolenaar  bwipeout! Xf1
502256c994SBram Moolenaar
512256c994SBram Moolenaar  new Xf1
522256c994SBram Moolenaar  set modified
532256c994SBram Moolenaar  " :hide as a command with bar
542256c994SBram Moolenaar  hide | new Xf2 " comment
552256c994SBram Moolenaar  call assert_equal(['Xf2', 2], [bufname(''), winnr('$')])
562256c994SBram Moolenaar  call assert_equal([1, 1], [buflisted('Xf1'), bufloaded('Xf1')])
572256c994SBram Moolenaar  bwipeout! Xf1
582256c994SBram Moolenaar  bwipeout! Xf2
592256c994SBram Moolenaar
602256c994SBram Moolenaar  new Xf1
612256c994SBram Moolenaar  set modified
622256c994SBram Moolenaar  " :hide as a modifier with trailing comment
632256c994SBram Moolenaar  hide edit Xf2 " comment
642256c994SBram Moolenaar  call assert_equal(['Xf2', 2], [bufname(''), winnr('$')])
652256c994SBram Moolenaar  call assert_equal([1, 1], [buflisted('Xf1'), bufloaded('Xf1')])
662256c994SBram Moolenaar  bwipeout! Xf1
672256c994SBram Moolenaar  bwipeout! Xf2
682256c994SBram Moolenaar
692256c994SBram Moolenaar  new Xf1
702256c994SBram Moolenaar  set modified
712256c994SBram Moolenaar  " To check that the bar is not recognized to separate commands
722256c994SBram Moolenaar  hide echo "one|two"
732256c994SBram Moolenaar  call assert_equal(['Xf1', 2], [bufname(''), winnr('$')])
742256c994SBram Moolenaar  call assert_equal([1, 1], [buflisted('Xf1'), bufloaded('Xf1')])
752256c994SBram Moolenaar  bwipeout! Xf1
762256c994SBram Moolenaar
772256c994SBram Moolenaar  " set hidden
782256c994SBram Moolenaar  new Xf1
792256c994SBram Moolenaar  set hidden
802256c994SBram Moolenaar  set modified
812256c994SBram Moolenaar  edit Xf2 " comment
822256c994SBram Moolenaar  call assert_equal(['Xf2', 2], [bufname(''), winnr('$')])
832256c994SBram Moolenaar  call assert_equal([1, 1], [buflisted('Xf1'), bufloaded('Xf1')])
842256c994SBram Moolenaar  bwipeout! Xf1
852256c994SBram Moolenaar  bwipeout! Xf2
862256c994SBram Moolenaar
872256c994SBram Moolenaar  " set hidden bufhidden=wipe
882256c994SBram Moolenaar  new Xf1
892256c994SBram Moolenaar  set bufhidden=wipe
902256c994SBram Moolenaar  set modified
912256c994SBram Moolenaar  hide edit! Xf2 " comment
922256c994SBram Moolenaar  call assert_equal(['Xf2', 2], [bufname(''), winnr('$')])
932256c994SBram Moolenaar  call assert_equal([0, 0], [buflisted('Xf1'), bufloaded('Xf1')])
942256c994SBram Moolenaar  bwipeout! Xf2
952256c994SBram Moolenaarendfunc
962256c994SBram Moolenaar
972256c994SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab
98