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