Restructure how we look for Read files slightly.
[fvwm.git] / tests / menus / menus.read
blob7eb6db5c2ab3f5909a7bb1839020cd68840b7e9c
1 #                                                                -*- winmgr -*-
2 # Menu layout testing script
5 ImagePath /tmp:+
7 # Tested menu styles and parameters
9 # - SidePic
10 # - SideColor
11 # - SeparatorsLong / SeparatorsShort
12 # - TitleUnderlines0 / TitleUnderlines1 / TitleUnderlines2
13 # - VerticalItemSpacing
14 # - VerticalTitleSpacing
15 # - VerticalMargins
16 # - BorderWidth
17 # - Hilight3DThickness / Hilight3DThick / Hilight3DThin / Hilight3DOff
18 # - ItemFormat:
19 #     %l %c %r %i %| %< %> %s %(left).(right)(...) [%](space) [%](tab) %p
20 # - Empty menus, items, formats and missing parts in the menus, separators
21 # - Item pictures
22 # - Continuation menus
25 DestroyFunc NewTest
27 # $0 = itemformat string
28 # $1 = more menu styles beginning with ","
29 # $2 = menu title
30 # $3 = test description
31 AddToFunc NewTest
32 + I DestroyMenu TestMenu
33 + I DestroyMenuStyle TestMS
34 + I MenuStyle TestMS ItemFormat "$0" $1
35 + I DestroyFunc DoTest
36 + I AddToFunc DoTest I Echo $3
37 + I AddToFunc DoTest I Menu TestMenu
38 + I AddToMenu TestMenu "$2" Title
39 + I ChangeMenuStyle TestMS TestMenu
43 # Vertical layout
45 Echo ***
46 Echo *** VERTICAL LAYOUT TESTS ***
47 Echo ***
49 DestroyFunc UseDefaultItems
50 AddToFunc UseDefaultItems
51 + I AddToMenu TestMenu "" nop
52 + I AddToMenu TestMenu "" nop
53 + I AddToMenu TestMenu "1       2       3" beep
54 + I AddToMenu TestMenu "" nop
55 + I AddToMenu TestMenu "" nop
56 + I AddToMenu TestMenu "title" title
57 + I AddToMenu TestMenu "1       2       3" beep
58 + I AddToMenu TestMenu "title" title
59 + I AddToMenu TestMenu "" nop
60 + I AddToMenu TestMenu "title" title
61 + I AddToMenu TestMenu "title" title
62 + I AddToMenu TestMenu "1       2       3" beep
63 + I AddToMenu TestMenu "1       2       3" beep
64 + I AddToMenu TestMenu "" nop
65 + I AddToMenu TestMenu "" nop
66 + I AddToMenu TestMenu "*/tmp/icon1.xpm*1       2       3" beep
67 + I AddToMenu TestMenu "*/tmp/icon2.xpm*1       2       3" beep
68 + I AddToMenu TestMenu "" nop
69 + I AddToMenu TestMenu "" nop
70 + I AddToMenu TestMenu "" nop
72 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", borderwidth 50, hilight3dthickness 50 50" "bw 50, ht 50" "bw 50, ht 50"
73 UseDefaultItems
74 DoTest
75 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", borderwidth 1, hilight3dthin" "bw 1, hthin" "bw 1, hthin"
76 UseDefaultItems
77 DoTest
78 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", borderwidth 0, hilight3doff" "bw 0, hoff" "bw 0, hoff"
79 UseDefaultItems
80 DoTest
81 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", borderwidth 2, hilight3dthick" "bw 2, hthick" "bw 2, hhick"
82 UseDefaultItems
83 DoTest
84 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", borderwidth -1, hilight3dthickness -10" "bw -1, ht -10" "bw -1, ht -10"
85 UseDefaultItems
86 DoTest
87 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", separatorslong" "separatorslong" "separatorslong"
88 UseDefaultItems
89 DoTest
90 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", separatorsshort" "separatorsshort" "separatorsshort"
91 UseDefaultItems
92 DoTest
93 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines0" "titleunderlines0" "titleunderlines0"
94 UseDefaultItems
95 DoTest
96 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines1" "titleunderlines1" "titleunderlines1"
97 UseDefaultItems
98 DoTest
99 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines2" "titleunderlines2" "titleunderlines2"
100 UseDefaultItems
101 DoTest
102 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines1, verticalitemspacing 10 20" "vis 10 20" "vis 10 20"
103 UseDefaultItems
104 DoTest
105 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines1, verticalitemspacing 10 -10" "vis 10 -10" "vis 10 -10"
106 UseDefaultItems
107 DoTest
108 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines1, verticalitemspacing -10 10" "vis -10 10" "vis -10 10"
109 UseDefaultItems
110 DoTest
111 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines1, verticalitemspacing -24 0" "vis -24 0" "vis -24 0"
112 UseDefaultItems
113 DoTest
114 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines1, verticalitemspacing -5 -5" "vis -5 -5" "vis -5 -5"
115 UseDefaultItems
116 DoTest
117 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines1, verticalitemspacing 1 2" "vis 1 2" "vis 1 2"
118 UseDefaultItems
119 DoTest
120 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines1, verticalitemspacing 0 2" "vis 0 2" "vis 0 2"
121 UseDefaultItems
122 DoTest
123 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines1, verticalitemspacing -1 2" "vis -1 2" "vis -1 2"
124 UseDefaultItems
125 DoTest
126 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines1, verticalitemspacing 1 1" "vis 1 1" "vis 1 1"
127 UseDefaultItems
128 DoTest
129 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines1, verticalitemspacing 1 0" "vis 1 0" "vis 1 0"
130 UseDefaultItems
131 DoTest
132 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines1, verticalitemspacing 1 -1" "vis 1 -1" "vis 1 -1"
133 UseDefaultItems
134 DoTest
135 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines1, verticalmargins 10 20" "vis 10 20" "vis 10 20"
136 UseDefaultItems
137 DoTest
138 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines2, verticalmargins 0 0" "vis 10 20" "vis 10 20"
139 UseDefaultItems
140 DoTest
141 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines1, verticalmargins" "vis 10 20" "vis 10 20"
142 UseDefaultItems
143 DoTest
144 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines2, verticalmargins -10 -20" "vis 10 20" "vis 10 20"
145 UseDefaultItems
146 DoTest
147 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines1, verticalmargins -10 20" "vis 10 20" "vis 10 20"
148 UseDefaultItems
149 DoTest
150 NewTest "%s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|" ", titleunderlines2, verticalmargins 10 -20" "vis 10 20" "vis 10 20"
151 UseDefaultItems
152 DoTest
155 # Submenus
157 Echo ***
158 Echo *** SUBMENU TESTS ***
159 Echo ***
161 DestroyFunc UseDefaultItems
162 AddToFunc UseDefaultItems
163 + I AddToMenu TestMenu
164 + I AddToMenu TestMenu "1       222     popup non-exist" Popup non-exist
165 + I AddToMenu TestMenu "1       222     popup self" Popup TestMenu
166 + I AddToMenu TestMenu "1       222     menu non-exist" Menu non-exist
167 + I AddToMenu TestMenu "1       222     menu self" Menu TestMenu
168 + I AddToMenu TestMenu "" Popup TestMenu
169 + I AddToMenu TestMenu "" menu TestMenu
170 + I AddToMenu TestMenu " " Popup TestMenu
171 + I AddToMenu TestMenu " " menu TestMenu
173 NewTest "%l%c%r%>" "" "%%l%%c%%r%%>" "%l%c%r%>"
174 UseDefaultItems
175 DoTest
176 NewTest "%l%c%r%<" "" "%%l%%c%%r%%<" "%l%c%r%<"
177 UseDefaultItems
178 DoTest
179 NewTest "%l%<%c%>%r" "" "%%l%%<%%c%%>%%r" "%l%<%c%>%r"
180 UseDefaultItems
181 DoTest
182 NewTest "%l%c%r" "" "%%l%%c%%r" "%l%c%r"
183 UseDefaultItems
184 DoTest
185 NewTest "%>" "" "%%>" "%>"
186 UseDefaultItems
187 DoTest
190 # Spacing
192 Echo ***
193 Echo *** SPACING TESTS ***
194 Echo ***
196 DestroyFunc UseDefaultItems
197 AddToFunc UseDefaultItems
198 + I AddToMenu TestMenu
199 + I AddToMenu TestMenu "11111111111     22222222222     33333333333" Beep
201 NewTest "%10l%r%.l" "" "%%10l%%r%%.l" "%10l%r%.l"
202 UseDefaultItems
203 DoTest
204 NewTest "%-10l%r%10.l" "" "%%-10l%%r%%10.l" "%-10l%r%10.l"
205 UseDefaultItems
206 DoTest
207 NewTest "%.-10l%r %l% " "" "%%.-10l%%r(space)%%l%%(space)" "%.-10l%r(space)%l%(space)"
208 UseDefaultItems
209 DoTest
210 NewTest "%.10l%r        %l%     " "" "%%.10l%%r(tab)%%l%%(tab)" "%.10l%r(tab)%l%(tab)"
211 UseDefaultItems
212 DoTest
213 NewTest "%10.-10l%r%20p%l" "" "%%10.-10l%%r%%20p%%l" "%10.-10l%r%20p%l"
214 UseDefaultItems
215 DoTest
218 # Hilighting and sidepic tests
220 Echo ***
221 Echo *** HILIGHTING AND SIDEPIC TESTS ***
222 Echo ***
224 DestroyFunc UseDefaultItems
225 AddToFunc UseDefaultItems
226 + I AddToMenu TestMenu
227 + I AddToMenu TestMenu "1       2       3" Beep
228 + I AddToMenu TestMenu "1111111111      2222222222222   33333333333" Beep
229 + I AddToMenu TestMenu "        2       3" Beep
230 + I AddToMenu TestMenu "1               3" Beep
231 + I AddToMenu TestMenu "1       2+      " Beep
232 + I AddToMenu TestMenu "1       2       3" Title
233 + I AddToMenu TestMenu "1       2" Beep
234 + I AddToMenu TestMenu "1       2       3" Beep
235 + I AddToMenu TestMenu "1       2       3" Beep
236 + I AddToMenu TestMenu "1++" Beep
237 + I AddToMenu TestMenu "        2+" Beep
238 + I AddToMenu TestMenu "                3" Beep
239 + I AddToMenu TestMenu " " Beep
240 + I AddToMenu TestMenu "                        4" Beep
241 + I AddToMenu TestMenu "1       2       3       4" Beep
242 + I AddToMenu TestMenu "final title" Title
244 NewTest "%s%r%|%l%|%i%c" ", SidePic sidepic.xpm, SideColor blue" "%%s%%r%%|%%l%%|%%i%%c" "%s%r%|%l%|%i%c"
245 UseDefaultItems
246 DoTest
247 NewTest "%r%|%s%l%|%i%c" ", SidePic sidepic.xpm, SideColor blue" "%%r%%|%%s%%l%%|%%i%%c" "%r%|%s%l%|%i%c"
248 UseDefaultItems
249 DoTest
250 NewTest "%r%|%l%|%i%c%s" ", SidePic sidepic.xpm, SideColor blue" "%%r%%|%%l%%|%%i%%c%%s" "%r%|%l%|%i%c%s"
251 UseDefaultItems
252 DoTest
253 NewTest "%s%r%|%l%i%c" ", SidePic sidepic.xpm, SideColor blue" "%%s%%r%%|%%l%%i%%c" "%s%r%|%l%i%c"
254 UseDefaultItems
255 DoTest
256 NewTest "%r%|%l%i%c%s" ", SidePic sidepic.xpm, SideColor blue" "%%r%%|%%l%%i%%c%%s" "%r%|%l%i%c%s"
257 UseDefaultItems
258 DoTest
259 NewTest "%s%r%l%i%c" ", SidePic sidepic.xpm, SideColor blue" "%%s%%r%%l%%i%%c" "%s%r%l%i%c"
260 UseDefaultItems
261 DoTest
262 NewTest "%r%l%i%c%s" ", SidePic sidepic.xpm, SideColor blue" "%%r%%l%%i%%c%%s" "%r%l%i%c%s"
263 UseDefaultItems
264 DoTest
265 NewTest "%s%r%|%l%|%i%c" "" "%%s%%r%%|%%l%%|%%i%%c" "%s%r%|%l%|%i%c"
266 UseDefaultItems
267 DoTest
268 NewTest "%r%|%l%|%i%c%s" "" "%%r%%|%%l%%|%%i%%c%%s" "%r%|%l%|%i%c%s"
269 UseDefaultItems
270 DoTest
271 NewTest "%0|%.0|" "" "%%|%%| placement" "%|%|"
272 UseDefaultItems
273 DoTest
274 NewTest "%l%10.1|%1.10|%r" "" "%%l%%10.1|%%1.10|%%r" "%l%10.1|%1.10|%r"
275 UseDefaultItems
276 DoTest
277 NewTest "%|%|" "" "" "%|%|"
278 UseDefaultItems
279 DoTest
280 NewTest "%|%-20|" "" "" "%|%-20|"
281 UseDefaultItems
282 DoTest
283 NewTest "%500|%c%-500|" "" "%%500|%%c%%-500|" "%500|%c%-500|"
284 UseDefaultItems
285 DoTest
286 NewTest "%100|%c%-100|" "" "%%100|%%c%%-100|" "%100|%c%-100|"
287 UseDefaultItems
288 DoTest
289 NewTest "%-100|%c%100|" "" "%%-100|%%c%%100|" "%-100|%c%100|"
290 UseDefaultItems
291 DoTest
292 NewTest "%r%|%l%|%i%|%c%|" "" "%%r%%|%%l%%|%%i%%|%%c%%|" "%r%|%l%|%i%|%c%|"
293 UseDefaultItems
294 DoTest
295 NewTest "%r%|%l%i%c" "" "%%r%%|%%l%%i%%c" "%r%|%l%i%c"
296 UseDefaultItems
297 DoTest
298 NewTest "%r%l%i%c" "" "%%r%%l%%i%%c" "%rl%i%c"
299 UseDefaultItems
300 DoTest
303 # Label placement
305 Echo ***
306 Echo *** ICON PLACEMENT TESTS ***
307 Echo ***
309 DestroyFunc UseDefaultItems
310 AddToFunc UseDefaultItems
311 + I AddToMenu TestMenu
312 + I AddToMenu TestMenu "%/tmp/icon1.xpm%%/tmp/icon2.xpm%%/tmp/icon3.xpm%%sidepic.xpm%" Beep
313 + I AddToMenu TestMenu "%/tmp/icon1.xpm%%/tmp/icon2.xpm%%/tmp/icon3.xpm%" Beep
314 + I AddToMenu TestMenu "%/tmp/icon1.xpm%%/tmp/icon2.xpm%" Beep
315 + I AddToMenu TestMenu "%/tmp/icon1.xpm%" Beep
316 + I AddToMenu TestMenu " " Beep
317 + I AddToMenu TestMenu "%/tmp/icon1.xpm%%sidepic.xpm%" Beep
318 + I AddToMenu TestMenu "1abc%/tmp/icon1.xpm%1def%/tmp/icon2.xpm%1ghi" Beep
319 + I AddToMenu TestMenu "1       %/tmp/icon1.xpm%2%/tmp/icon2.xpm%       3" Beep
320 + I AddToMenu TestMenu "111%/tmp/icon1.xpm%     22222   %/tmp/icon2.xpm%3333333" Beep
322 NewTest "%i%i" "" "%%i%%i placement" "%i%i icon placement"
323 UseDefaultItems
324 DoTest
325 NewTest "%i     %i" "" "%%i(tab)%%i placement" "%i(tab)%i icon placement"
326 UseDefaultItems
327 DoTest
328 NewTest "       %i      %i      " "" "(tab)%%i(tab)%%i(tab) placement" "(tab)%i(tab)%i(tab) icon placement"
329 UseDefaultItems
330 DoTest
331 NewTest " %i %i " "" "(space)%%i(space)%%i(space) placement" "(space)%i(space)%i(space) icon placement"
332 UseDefaultItems
333 DoTest
334 NewTest "%l%l%l%i%i" "" "%%l%%l%%l%%i%%i placement" "%l%l%l%i%i icon placement"
335 UseDefaultItems
336 DoTest
337 NewTest "%i%r%r%i%r" "" "%%i%%r%%r%%i%%r placement" "%i%r%r%i%r icon placement"
338 UseDefaultItems
339 DoTest
340 NewTest "%i%i%i%i%i%i" "" "%%i%%i%%i%%i%%i%%i placement" "%i%i%i%i%i%i icon placement"
341 UseDefaultItems
342 DoTest
343 NewTest "%i" "" "%%i placement" "%i icon placement"
344 UseDefaultItems
345 DoTest
346 NewTest " " "" "(empty) placement" "(empty) icon placement"
347 UseDefaultItems
348 DoTest
351 Echo ***
352 Echo *** LABEL PLACEMENT TESTS ***
353 Echo ***
355 DestroyFunc UseDefaultItems
356 AddToFunc UseDefaultItems
357 + I AddToMenu TestMenu
358 + I AddToMenu TestMenu "1       2       3" Beep
359 + I AddToMenu TestMenu "1111111111      2222222222222   33333333333" Beep
360 + I AddToMenu TestMenu "        2       3" Beep
361 + I AddToMenu TestMenu "1               3" Beep
362 + I AddToMenu TestMenu "1       2+      " Beep
363 + I AddToMenu TestMenu "1       2       3" Title
364 + I AddToMenu TestMenu "1       2" Beep
365 + I AddToMenu TestMenu "1       2       3" Beep
366 + I AddToMenu TestMenu "1       2       3" Beep
367 + I AddToMenu TestMenu "1++" Beep
368 + I AddToMenu TestMenu "        2+" Beep
369 + I AddToMenu TestMenu "                3" Beep
370 + I AddToMenu TestMenu " " Beep
371 + I AddToMenu TestMenu "                        4" Beep
372 + I AddToMenu TestMenu "1       2       3       4" Beep
373 + I AddToMenu TestMenu "final title" Title
375 NewTest "%l%l%l" "" "%%l%%l%%l placement" "%l%l%l label placement"
376 UseDefaultItems
377 DoTest
378 NewTest "%c%c%c" "" "%%c%%c%%c placement" "%c%c%c label placement"
379 UseDefaultItems
380 DoTest
381 NewTest "%r%r%r" "" "%%r%%r%%r placement" "%r%r%r label placement"
382 UseDefaultItems
383 DoTest
384 NewTest "%r%c%l" "" "%%r%%c%%l placement" "%r%c%l label placement"
385 UseDefaultItems
386 DoTest
387 NewTest "%l%c%r" "" "%%l%%c%%r placement" "%l%c%r label placement"
388 UseDefaultItems
389 DoTest
390 NewTest "%r%l%c" "" "%%r%%l%%c placement" "%r%l%c label placement"
391 UseDefaultItems
392 DoTest
393 NewTest "%c%r%l" "" "%%c%%r%%l placement" "%c%r%l label placement"
394 UseDefaultItems
395 DoTest
396 NewTest "%l%l%l" "" "%%l%%l%%l placement with a veeeeeeeeeeeeeeerrrrrrrrrrrryyyy long title" "%l%l%l label placement with a very long long title"
397 UseDefaultItems
398 DoTest
399 NewTest "%c%c%c" "" "%%c%%c%%c placement with a veeeeeeeeeeeeeeerrrrrrrrrrrryyyy long title" "%c%c%c label placement with a very long long title"
400 UseDefaultItems
401 DoTest
402 NewTest "%r%r%r" "" "%%r%%r%%r placement with a veeeeeeeeeeeeeeerrrrrrrrrrrryyyy long title" "%r%r%r label placement with a very long long title"
403 UseDefaultItems
404 DoTest
405 NewTest "%r%c%l" "" "%%r%%c%%l placement with a veeeeeeeeeeeeeeerrrrrrrrrrrryyyy long title" "%r%c%l label placement with a very long long title"
406 UseDefaultItems
407 DoTest
408 NewTest "%l%c%r" "" "%%l%%c%%r placement with a veeeeeeeeeeeeeeerrrrrrrrrrrryyyy long title" "%l%c%r label placement with a very long long title"
409 UseDefaultItems
410 DoTest
411 NewTest "%r%l%r" "" "%%r%%l%%r placement with a veeeeeeeeeeeeeeerrrrrrrrrrrryyyy long title" "%r%l%r label placement with a very long long title"
412 UseDefaultItems
413 DoTest
414 NewTest "%l%l" "" "%%l%%l placement" "%l%l label placement"
415 UseDefaultItems
416 DoTest
417 NewTest "%c%c" "" "%%c%%c placement" "%c%c label placement"
418 UseDefaultItems
419 DoTest
420 NewTest "%r%r" "" "%%r%%r placement" "%r%r label placement"
421 UseDefaultItems
422 DoTest
423 NewTest "%r%l" "" "%%r%%l placement" "%r%l label placement"
424 UseDefaultItems
425 DoTest
426 NewTest "%l%r" "" "%%l%%r placement" "%l%r label placement"
427 UseDefaultItems
428 DoTest
429 NewTest "%c%r" "" "%%c%%r placement" "%c%r label placement"
430 UseDefaultItems
431 DoTest
432 NewTest "%l%c" "" "%%l%%c placement" "%l%c label placement"
433 UseDefaultItems
434 DoTest
435 NewTest "%l" "" "%%l placement" "%l label placement"
436 UseDefaultItems
437 DoTest
438 NewTest "%c" "" "%%c placement" "%c label placement"
439 UseDefaultItems
440 DoTest
441 NewTest " " "" "(empty) placement" "(empty) label placement"
442 UseDefaultItems
443 DoTest
444 NewTest "%l%l%l%l%r%c%l%c%r%r" "" "%%l%%l%%l%%l%%r%%c%%l%%c%%r%%r placement" "%l%l%l%l%r%c%l%c%r%r label placement"
445 UseDefaultItems
446 DoTest