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