test_close_count.vim (3446B)
1 " Tests for :[count]close! command 2 func Test_close_count() 3 enew! | only 4 5 let wids = [win_getid()] 6 for i in range(5) 7 new 8 call add(wids, win_getid()) 9 endfor 10 11 4wincmd w 12 close! 13 let ids = [] 14 windo call add(ids, win_getid()) 15 call assert_equal([wids[5], wids[4], wids[3], wids[1], wids[0]], ids) 16 17 1close! 18 let ids = [] 19 windo call add(ids, win_getid()) 20 call assert_equal([wids[4], wids[3], wids[1], wids[0]], ids) 21 22 $close! 23 let ids = [] 24 windo call add(ids, win_getid()) 25 call assert_equal([wids[4], wids[3], wids[1]], ids) 26 27 1wincmd w 28 2close! 29 let ids = [] 30 windo call add(ids, win_getid()) 31 call assert_equal([wids[4], wids[1]], ids) 32 33 1wincmd w 34 new 35 call add(wids, win_getid()) 36 new 37 call add(wids, win_getid()) 38 2wincmd w 39 -1close! 40 let ids = [] 41 windo call add(ids, win_getid()) 42 call assert_equal([wids[6], wids[4], wids[1]], ids) 43 44 2wincmd w 45 +1close! 46 let ids = [] 47 windo call add(ids, win_getid()) 48 call assert_equal([wids[6], wids[4]], ids) 49 50 only! 51 endfunc 52 53 " Tests for :[count]hide command 54 func Test_hide_count() 55 enew! | only 56 57 let wids = [win_getid()] 58 for i in range(5) 59 new 60 call add(wids, win_getid()) 61 endfor 62 63 4wincmd w 64 .hide 65 let ids = [] 66 windo call add(ids, win_getid()) 67 call assert_equal([wids[5], wids[4], wids[3], wids[1], wids[0]], ids) 68 69 1hide 70 let ids = [] 71 windo call add(ids, win_getid()) 72 call assert_equal([wids[4], wids[3], wids[1], wids[0]], ids) 73 74 $hide 75 let ids = [] 76 windo call add(ids, win_getid()) 77 call assert_equal([wids[4], wids[3], wids[1]], ids) 78 79 1wincmd w 80 2hide 81 let ids = [] 82 windo call add(ids, win_getid()) 83 call assert_equal([wids[4], wids[1]], ids) 84 85 1wincmd w 86 new 87 call add(wids, win_getid()) 88 new 89 call add(wids, win_getid()) 90 3wincmd w 91 -hide 92 let ids = [] 93 windo call add(ids, win_getid()) 94 call assert_equal([wids[7], wids[4], wids[1]], ids) 95 96 2wincmd w 97 +hide 98 let ids = [] 99 windo call add(ids, win_getid()) 100 call assert_equal([wids[7], wids[4]], ids) 101 102 only! 103 endfunc 104 105 " Tests for :[count]close! command with 'hidden' 106 func Test_hidden_close_count() 107 enew! | only 108 109 let wids = [win_getid()] 110 for i in range(5) 111 new 112 call add(wids, win_getid()) 113 endfor 114 115 set hidden 116 117 $ hide 118 let ids = [] 119 windo call add(ids, win_getid()) 120 call assert_equal([wids[5], wids[4], wids[3], wids[2], wids[1]], ids) 121 122 $-1 close! 123 let ids = [] 124 windo call add(ids, win_getid()) 125 call assert_equal([wids[5], wids[4], wids[3], wids[1]], ids) 126 127 1wincmd w 128 .+close! 129 let ids = [] 130 windo call add(ids, win_getid()) 131 call assert_equal([wids[5], wids[3], wids[1]], ids) 132 133 set nohidden 134 only! 135 endfunc 136 137 " Tests for 'CTRL-W c' command to close windows. 138 func Test_winclose_command() 139 enew! | only 140 141 let wids = [win_getid()] 142 for i in range(5) 143 new 144 call add(wids, win_getid()) 145 endfor 146 147 set hidden 148 149 4wincmd w 150 exe "normal \<C-W>c" 151 let ids = [] 152 windo call add(ids, win_getid()) 153 call assert_equal([wids[5], wids[4], wids[3], wids[1], wids[0]], ids) 154 155 exe "normal 1\<C-W>c" 156 let ids = [] 157 windo call add(ids, win_getid()) 158 call assert_equal([wids[4], wids[3], wids[1], wids[0]], ids) 159 160 exe "normal 9\<C-W>c" 161 let ids = [] 162 windo call add(ids, win_getid()) 163 call assert_equal([wids[4], wids[3], wids[1]], ids) 164 165 1wincmd w 166 exe "normal 2\<C-W>c" 167 let ids = [] 168 windo call add(ids, win_getid()) 169 call assert_equal([wids[4], wids[1]], ids) 170 171 set nohidden 172 only! 173 endfunc