3 # Another possible shebang line:
6 # Pipeglade tests; they should be invoked in the build directory.
8 # Failure of a test can cause failure of one or more subsequent tests.
27 rm -rf $FIN $FOUT $FERR $LOG $ERR_FILE $BAD_FIFO $PID_FILE $OUT_FILE \
28 $FILE1 $FILE2 $FILE3 $FILE4 $FILE5 $FILE6 $DIR
30 if stat
-f "%0p"; then
31 STAT_CMD
='stat -f "%0p"'
34 STAT_CMD
='stat -c "%a"'
37 # colored messages: bright green
40 FAIL
=$
'\E[31;1mFAIL\E[0m'
41 EXPECTED
=$
'\E[31;1mEXPECTED\E[0m'
43 CALL
=$
'\E[33mCALL\E[0m'
44 SEND
=$
'\E[33mSEND\E[0m'
62 while test -e $1 && (( i
<50 )); do
68 echo " $FAIL $1 should be deleted"
72 echo " $OK $1 deleted"
78 while ! eval "$1" && (( i
<50 )); do
94 # Situations where pipeglade should exit immediately. These tests
95 # should run automatically
96 ######################################################################
99 # check_call command expected_status expected_stderr expected_stdout
104 output
=$
($1 2>tmperr.txt
)
109 if test "$output" = "" -a "$o" = "" ||
(echo "$output" |
grep -Fqe "$o"); then
111 echo " $OK STDOUT $output"
114 echo " $FAIL STDOUT $output"
117 if test "$error" = "" -a "$e" = "" ||
test "$retval" -eq "$r" && (echo "$error" |
grep -Fqe "$e"); then
119 echo " $OK EXIT/STDERR $retval $error"
122 echo " $FAIL EXIT/STDERR $retval $error"
123 echo " $EXPECTED $r $e"
127 check_call
"./pipeglade -u nonexistent.ui" 1 \
129 check_call
"./pipeglade -u bad_window.ui" 1 \
130 "no toplevel window named 'main'" ""
131 check_call
"./pipeglade -u www-template/404.html" 1 \
133 check_call
"./pipeglade -u README" 1 \
134 "Document must begin with an element" ""
135 check_call
"./pipeglade -e x" 1 \
136 "x is not a valid XEmbed socket id" ""
137 check_call
"./pipeglade -ex" 1 \
138 "x is not a valid XEmbed socket id" ""
139 check_call
"./pipeglade -e -77" 1 \
140 "-77 is not a valid XEmbed socket id" ""
141 check_call
"./pipeglade -e 77x" 1 \
142 "77x is not a valid XEmbed socket id" ""
143 check_call
"./pipeglade -e +77" 1 \
144 "+77 is not a valid XEmbed socket id" ""
145 check_call
"./pipeglade -e 999999999999999999999999999999" 1 \
146 "999999999999999999999999999999 is not a valid XEmbed socket id" ""
147 check_call
"./pipeglade -e 99999999999999999" 1 \
148 "unable to embed into XEmbed socket 99999999999999999" ""
150 check_call
"./pipeglade -i $BAD_FIFO" 1 \
152 check_call
"./pipeglade -o $BAD_FIFO" 1 \
155 check_call
"./pipeglade -b" 1 \
156 "parameter -b requires both -i and -o"
157 check_call
"./pipeglade -b -i $FIN" 1 \
158 "parameter -b requires both -i and -o"
159 check_call
"./pipeglade -b -i $FOUT" 1 \
160 "parameter -b requires both -i and -o"
162 check_call
"./pipeglade -h" 0 \
163 "" "usage: pipeglade [[-i in-fifo] [-o out-fifo] [-b] [-u glade-file.ui] [-e xid]
164 [-l log-file] [-O err-file] [--display X-server]] | [-h|-G|-V]"
165 check_call
"./pipeglade -G" 0 \
167 check_call
"./pipeglade -G" 0 \
169 check_call
"./pipeglade -V" 0 \
171 check_call
"./pipeglade -X" 1 \
173 check_call
"./pipeglade -e" 1 \
175 check_call
"./pipeglade -u" 1 \
177 check_call
"./pipeglade -i" 1 \
179 check_call
"./pipeglade -o" 1 \
182 check_call
"./pipeglade -O" 1 \
184 check_call
"./pipeglade -O $DIR" 1 \
185 "" "couldn't redirect stderr to"
186 check_call
"./pipeglade -l $DIR" 1 \
187 "opening log file" ""
188 check_call
"./pipeglade -l" 1 \
190 check_call
"./pipeglade yyy" 1 \
191 "illegal parameter 'yyy'" ""
192 check_call
"./pipeglade --display nnn" 1 \
195 echo -e "statusbar1:pop\n _:main_quit" > $FIN &
196 check_call
"./pipeglade -i $FIN" 0 \
199 echo -e "statusbar1:pop_id 111\n _:main_quit" > $FIN &
200 check_call
"./pipeglade -i $FIN" 0 \
212 # Error handling tests---bogus actions leading to appropriate error
213 # messages. Most of these tests should run automatically.
214 ######################################################################
219 # check_error command expected_stderr
223 while read r
<$FERR; do
224 # ignore irrelevant GTK warnings
225 if test "$r" != "" && ! grep -qe "WARNING"<<< "$r"; then
229 if grep -qe "$2" <<< "$r"; then
240 .
/pipeglade
-i $FIN 2> $FERR &
242 # wait for $FIN to appear
243 while test ! \
( -e $FIN \
); do :; done
247 "ignoring command \"nnn\""
248 check_error
"nnn:set_text FFFF" \
249 "ignoring command \"nnn:set_text FFFF\""
250 check_error
"nnn:set_tooltip_text FFFF" \
251 "ignoring command \"nnn:set_tooltip_text FFFF\""
252 check_error
"nnn:set_sensible 0" \
253 "ignoring command \"nnn:set_sensible 0\""
254 check_error
"nnn:set_sensible 1" \
255 "ignoring command \"nnn:set_sensible 1\""
256 check_error
"nnn:set_visible 0" \
257 "ignoring command \"nnn:set_visible 0\""
258 check_error
"nnn:set_visible 1" \
259 "ignoring command \"nnn:set_visible 1\""
260 check_error
"nnn:grab_focus" \
261 "ignoring command \"nnn:grab_focus\""
262 check_error
"nnn:set_size_request 100 100" \
263 "ignoring command \"nnn:set_size_request 100 100\""
264 check_error
"nnn:style font:Bold 11" \
265 "ignoring command \"nnn:style font:Bold 11\""
266 check_error
"nnn:force" \
267 "ignoring command \"nnn:force\""
268 # Widget that shouldn't fire callbacks
269 check_error
"label1:force" \
270 "ignoring GtkLabel command \"label1:force\""
271 # Widget that can't grab focus
272 check_error
"label1:grab_focus" \
273 "ignoring GtkLabel command \"label1:grab_focus\""
275 check_error
"_:load" \
276 "ignoring command \"_:load\""
277 check_error
"_:load " \
278 "ignoring command \"_:load \""
279 check_error
"_:load nonexistent.txt" \
280 "ignoring command \"_:load nonexistent.txt\""
282 cat >$DIR/$FILE1 <<< "blah"
283 check_error
"_:load $DIR/$FILE1" \
284 "ignoring command \"blah\""
285 cat >$DIR/$FILE1 <<< "_:load $DIR/$FILE1"
286 check_error
"_:load $DIR/$FILE1" \
287 "ignoring command \"_:load $DIR/$FILE1\""
288 cat >$DIR/$FILE1 <<< "_:load $DIR/$FILE2"
289 cat >$DIR/$FILE2 <<< "_:load $DIR/$FILE1"
290 check_error
"_:load $DIR/$FILE1" \
291 "ignoring command \"_:load $DIR/$FILE1\""
292 cat >$DIR/$FILE1 <<< "_:load $DIR/$FILE2"
293 cat >$DIR/$FILE2 <<< "_:blah"
294 check_error
"_:load $DIR/$FILE1" \
295 "ignoring command \"_:blah\""
298 check_error
"main:nnn" \
299 "ignoring GtkWindow command \"main:nnn\""
300 check_error
"main:move" \
301 "ignoring GtkWindow command \"main:move\""
302 check_error
"main:move " \
303 "ignoring GtkWindow command \"main:move \""
304 check_error
"main:move 700" \
305 "ignoring GtkWindow command \"main:move 700\""
306 check_error
"main:move 700 nnn" \
307 "ignoring GtkWindow command \"main:move 700 nnn\""
309 check_error
"label1:nnn" \
310 "ignoring GtkLabel command \"label1:nnn\""
312 check_error
"image1:nnn" \
313 "ignoring GtkImage command \"image1:nnn\""
315 check_error
"notebook1:nnn" \
316 "ignoring GtkNotebook command \"notebook1:nnn\""
318 check_error
"expander1:nnn" \
319 "ignoring GtkExpander command \"expander1:nnn\""
321 check_error
"textview1:nnn" \
322 "ignoring GtkTextView command \"textview1:nnn\""
323 check_error
"textview1:save" \
324 "ignoring GtkTextView command \"textview1:save\""
325 mkdir
$DIR; chmod a-w
$DIR
326 check_error
"textview1:save $DIR/$FILE1" \
327 "ignoring GtkTextView command \"textview1:save $DIR/$FILE1\""
328 check_error
"textview1:save nonexistent/$FILE1" \
329 "ignoring GtkTextView command \"textview1:save nonexistent/$FILE1\""
332 check_error
"button1:nnn" \
333 "ignoring GtkButton command \"button1:nnn\""
335 check_error
"switch1:nnn" \
336 "ignoring GtkSwitch command \"switch1:nnn\""
338 check_error
"togglebutton1:nnn" \
339 "ignoring GtkToggleButton command \"togglebutton1:nnn\""
341 check_error
"checkbutton1:nnn" \
342 "ignoring GtkCheckButton command \"checkbutton1:nnn\""
344 check_error
"radiobutton1:nnn" \
345 "ignoring GtkRadioButton command \"radiobutton1:nnn\""
347 check_error
"spinbutton1:nnn" \
348 "ignoring GtkSpinButton command \"spinbutton1:nnn\""
349 # GtkFileChooserButton
350 check_error
"filechooserbutton1:nnn" \
351 "ignoring GtkFileChooserButton command \"filechooserbutton1:nnn\""
352 # GtkFilechooserDialog
353 check_error
"open_dialog:nnn" \
354 "ignoring GtkFileChooserDialog command \"open_dialog:nnn\""
356 check_error
"fontbutton1:nnn" \
357 "ignoring GtkFontButton command \"fontbutton1:nnn\""
359 check_error
"colorbutton1:nnn" \
360 "ignoring GtkColorButton command \"colorbutton1:nnn\""
362 check_error
"printdialog:nnn" \
363 "ignoring GtkPrintUnixDialog command \"printdialog:nnn\""
364 check_error
"statusbar1:push Click \"Print\"\n printdialog:print nonexistent.ps" \
365 "ignoring GtkPrintUnixDialog command \" printdialog:print nonexistent.ps\""
367 check_error
"scale1:nnn" \
368 "ignoring GtkScale command \"scale1:nnn\""
370 check_error
"progressbar1:nnn" \
371 "ignoring GtkProgressBar command \"progressbar1:nnn\""
373 check_error
"spinner1:nnn" \
374 "ignoring GtkSpinner command \"spinner1:nnn\""
376 check_error
"statusbar1:nnn" \
377 "ignoring GtkStatusbar command \"statusbar1:nnn\""
379 check_error
"comboboxtext1:nnn" \
380 "ignoring GtkComboBoxText command \"comboboxtext1:nnn\""
381 check_error
"comboboxtext1:force" \
382 "ignoring GtkComboBoxText command \"comboboxtext1:force\""
385 check_error
"treeview1:nnn" \
386 "ignoring GtkTreeView command \"treeview1:nnn\""
387 check_error
"treeview2:nnn" \
388 "ignoring GtkTreeView command \"treeview2:nnn\""
389 check_error
"treeview1:force" \
390 "ignoring GtkTreeView command \"treeview1:force\""
392 check_error
"treeview1:save" \
393 "ignoring GtkTreeView command \"treeview1:save\""
394 mkdir
$DIR; chmod a-w
$DIR
395 check_error
"treeview1:save $DIR/$FILE1" \
396 "ignoring GtkTreeView command \"treeview1:save $DIR/$FILE1\""
397 check_error
"treeview1:save nonexistent/$FILE1" \
398 "ignoring GtkTreeView command \"treeview1:save nonexistent/$FILE1\""
400 # GtkTreeView insert_row
401 check_error
"treeview1:insert_row 10000" \
402 "ignoring GtkTreeView command \"treeview1:insert_row 10000\""
403 check_error
"treeview1:insert_row -1" \
404 "ignoring GtkTreeView command \"treeview1:insert_row -1\""
405 check_error
"treeview1:insert_row nnn" \
406 "ignoring GtkTreeView command \"treeview1:insert_row nnn\""
407 check_error
"treeview1:insert_row" \
408 "ignoring GtkTreeView command \"treeview1:insert_row\""
409 check_error
"treeview1:insert_row " \
410 "ignoring GtkTreeView command \"treeview1:insert_row \""
411 check_error
"treeview1:insert_row -1" \
412 "ignoring GtkTreeView command \"treeview1:insert_row -1\""
413 check_error
"treeview1:insert_row 1000" \
414 "ignoring GtkTreeView command \"treeview1:insert_row 1000\""
415 check_error
"treeview2:insert_row 0" \
416 "ignoring GtkTreeView command \"treeview2:insert_row 0\""
417 check_error
"treeview3:insert_row end" \
418 "missing model/ignoring GtkTreeView command \"treeview3:insert_row end\""
419 check_error
"treeview2:insert_row end\n treeview2:insert_row 0 as_child\n treeview2:insert_row 0:0 as_child\n treeview2:expand abc" \
420 "ignoring GtkTreeView command \" treeview2:expand abc\""
421 check_error
"treeview2:expand" \
422 "ignoring GtkTreeView command \"treeview2:expand\""
423 check_error
"treeview2:expand 0:abc" \
424 "ignoring GtkTreeView command \"treeview2:expand 0:abc\""
425 check_error
"treeview2:expand_all abc" \
426 "ignoring GtkTreeView command \"treeview2:expand_all abc\""
427 check_error
"treeview2:expand_all 0:abc" \
428 "ignoring GtkTreeView command \"treeview2:expand_all 0:abc\""
429 check_error
"treeview2:collapse abc" \
430 "ignoring GtkTreeView command \"treeview2:collapse abc\""
431 check_error
"treeview2:collapse 0:abc" \
432 "ignoring GtkTreeView command \"treeview2:collapse 0:abc\""
433 check_error
"treeview2:insert_row" \
434 "ignoring GtkTreeView command \"treeview2:insert_row\""
435 check_error
"treeview2:insert_row abc" \
436 "ignoring GtkTreeView command \"treeview2:insert_row abc\""
437 check_error
"treeview2:insert_row 0:abc" \
438 "ignoring GtkTreeView command \"treeview2:insert_row 0:abc\""
439 # GtkTreeView move_row
440 check_error
"treeview1:move_row" \
441 "ignoring GtkTreeView command \"treeview1:move_row\""
442 check_error
"treeview1:move_row " \
443 "ignoring GtkTreeView command \"treeview1:move_row \""
444 check_error
"treeview1:move_row nnn" \
445 "ignoring GtkTreeView command \"treeview1:move_row nnn\""
446 check_error
"treeview1:move_row 10000 end" \
447 "ignoring GtkTreeView command \"treeview1:move_row 10000 end\""
448 check_error
"treeview1:move_row -1 end" \
449 "ignoring GtkTreeView command \"treeview1:move_row -1 end\""
450 check_error
"treeview1:move_row nnn end" \
451 "ignoring GtkTreeView command \"treeview1:move_row nnn end\""
452 check_error
"treeview1:move_row 0 10000" \
453 "ignoring GtkTreeView command \"treeview1:move_row 0 10000\""
454 check_error
"treeview1:move_row 0 -1" \
455 "ignoring GtkTreeView command \"treeview1:move_row 0 -1\""
456 check_error
"treeview1:move_row 0 nnn" \
457 "ignoring GtkTreeView command \"treeview1:move_row 0 nnn\""
458 check_error
"treeview2:move_row" \
459 "ignoring GtkTreeView command \"treeview2:move_row\""
460 check_error
"treeview2:move_row 0:0 abc" \
461 "ignoring GtkTreeView command \"treeview2:move_row 0:0 abc\""
462 check_error
"treeview2:move_row 0:0 0:abc" \
463 "ignoring GtkTreeView command \"treeview2:move_row 0:0 0:abc\""
464 check_error
"treeview2:move_row abc end" \
465 "ignoring GtkTreeView command \"treeview2:move_row abc end\""
466 check_error
"treeview2:move_row 0:abc end" \
467 "ignoring GtkTreeView command \"treeview2:move_row 0:abc end\""
468 # GtkTreeView remove_row
469 check_error
"treeview1:remove_row 10000" \
470 "ignoring GtkTreeView command \"treeview1:remove_row 10000\""
471 check_error
"treeview1:remove_row -1" \
472 "ignoring GtkTreeView command \"treeview1:remove_row -1\""
473 check_error
"treeview1:remove_row nnn" \
474 "ignoring GtkTreeView command \"treeview1:remove_row nnn\""
475 check_error
"treeview1:remove_row" \
476 "ignoring GtkTreeView command \"treeview1:remove_row\""
477 check_error
"treeview1:remove_row " \
478 "ignoring GtkTreeView command \"treeview1:remove_row \""
479 check_error
"treeview2:remove_row" \
480 "ignoring GtkTreeView command \"treeview2:remove_row\""
481 check_error
"treeview2:remove_row abc" \
482 "ignoring GtkTreeView command \"treeview2:remove_row abc\""
483 check_error
"treeview2:remove_row 0:abc" \
484 "ignoring GtkTreeView command \"treeview2:remove_row 0:abc\""
486 check_error
"treeview1:scroll" \
487 "ignoring GtkTreeView command \"treeview1:scroll\""
488 check_error
"treeview1:scroll " \
489 "ignoring GtkTreeView command \"treeview1:scroll \""
490 check_error
"treeview1:scroll nnn" \
491 "ignoring GtkTreeView command \"treeview1:scroll nnn\""
492 check_error
"treeview1:scroll -1 1" \
493 "ignoring GtkTreeView command \"treeview1:scroll -1 1\""
494 check_error
"treeview1:scroll 1 -1" \
495 "ignoring GtkTreeView command \"treeview1:scroll 1 -1\""
496 check_error
"treeview1:scroll nnn 1" \
497 "ignoring GtkTreeView command \"treeview1:scroll nnn 1\""
498 check_error
"treeview1:scroll 1 nnn" \
499 "ignoring GtkTreeView command \"treeview1:scroll 1 nnn\""
500 check_error
"treeview2:scroll" \
501 "ignoring GtkTreeView command \"treeview2:scroll\""
502 check_error
"treeview2:scroll abc" \
503 "ignoring GtkTreeView command \"treeview2:scroll abc\""
504 check_error
"treeview2:scroll 0:abc" \
505 "ignoring GtkTreeView command \"treeview2:scroll 0:abc\""
506 check_error
"treeview2:scroll abc 0" \
507 "ignoring GtkTreeView command \"treeview2:scroll abc 0\""
508 check_error
"treeview2:scroll 0:abc 0" \
509 "ignoring GtkTreeView command \"treeview2:scroll 0:abc 0\""
510 check_error
"treeview2:scroll 0:0" \
511 "ignoring GtkTreeView command \"treeview2:scroll 0:0\""
512 check_error
"treeview2:scroll 0:0 abc" \
513 "ignoring GtkTreeView command \"treeview2:scroll 0:0 abc\""
514 check_error
"treeview2:set_cursor abc" \
515 "ignoring GtkTreeView command \"treeview2:set_cursor abc\""
516 check_error
"treeview2:set_cursor 0:abc" \
517 "ignoring GtkTreeView command \"treeview2:set_cursor 0:abc\""
518 check_error
"treeview2:clear 0" \
519 "ignoring GtkTreeView command \"treeview2:clear 0\""
520 check_error
"treeview2:clear\n treeview2:insert_row 0" \
521 "ignoring GtkTreeView command \" treeview2:insert_row 0\""
523 check_error
"treeview1:set" \
524 "ignoring GtkTreeView command \"treeview1:set\""
525 check_error
"treeview1:set " \
526 "ignoring GtkTreeView command \"treeview1:set \""
527 check_error
"treeview1:set nnn" \
528 "ignoring GtkTreeView command \"treeview1:set nnn\""
529 check_error
"treeview1:set 0 nnn" \
530 "ignoring GtkTreeView command \"treeview1:set 0 nnn\""
531 check_error
"treeview1:set nnn 0" \
532 "ignoring GtkTreeView command \"treeview1:set nnn 0\""
533 check_error
"treeview1:set 1 10000 77" \
534 "ignoring GtkTreeView command \"treeview1:set 1 10000 77\""
535 check_error
"treeview1:set 1 11 77" \
536 "ignoring GtkTreeView command \"treeview1:set 1 11 77\""
537 check_error
"treeview1:set nnn 1 77" \
538 "ignoring GtkTreeView command \"treeview1:set nnn 1 77\""
539 check_error
"treeview1:set 1 nnn 77" \
540 "ignoring GtkTreeView command \"treeview1:set 1 nnn 77\""
541 check_error
"treeview1:set -1 1 77" \
542 "ignoring GtkTreeView command \"treeview1:set -1 1 77\""
543 check_error
"treeview1:set 1 -1 77" \
544 "ignoring GtkTreeView command \"treeview1:set 1 -1 77\""
545 # GtkTree set "abc" into numeric column
546 check_error
"treeview1:set 1 1 abc" \
547 "ignoring GtkTreeView command \"treeview1:set 1 1 abc\""
550 check_error
"treeviewcolumn3:nnn" \
551 "ignoring GtkTreeViewColumn command \"treeviewcolumn3:nnn\""
552 check_error
"treeviewcolumn3:force" \
553 "ignoring GtkTreeViewColumn command \"treeviewcolumn3:force\""
555 check_error
"entry1:nnn" \
556 "ignoring GtkEntry command \"entry1:nnn\""
558 check_error
"calendar1:nnn" \
559 "ignoring GtkCalendar command \"calendar1:nnn\""
560 check_error
"calendar1:select_date" \
561 "ignoring GtkCalendar command \"calendar1:select_date\""
562 check_error
"calendar1:select_date " \
563 "ignoring GtkCalendar command \"calendar1:select_date \""
564 check_error
"calendar1:select_date nnn" \
565 "ignoring GtkCalendar command \"calendar1:select_date nnn\""
566 check_error
"calendar1:select_date 2000-12-33" \
567 "ignoring GtkCalendar command \"calendar1:select_date 2000-12-33\""
568 check_error
"calendar1:select_date 2000-13-20" \
569 "ignoring GtkCalendar command \"calendar1:select_date 2000-13-20\""
571 check_error
"socket1:nnn" \
572 "ignoring GtkSocket command \"socket1:nnn\""
574 check_error
"scrolledwindow3:nnn" \
575 "ignoring GtkScrolledWindow command \"scrolledwindow3:nnn\""
576 check_error
"scrolledwindow3:hscroll" \
577 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll\""
578 check_error
"scrolledwindow3:hscroll " \
579 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll \""
580 check_error
"scrolledwindow3:hscroll nnn" \
581 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll nnn\""
582 check_error
"scrolledwindow3:vscroll" \
583 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll\""
584 check_error
"scrolledwindow3:vscroll " \
585 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll \""
586 check_error
"scrolledwindow3:vscroll nnn" \
587 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll nnn\""
588 check_error
"scrolledwindow3:hscroll_to_range" \
589 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll_to_range\""
590 check_error
"scrolledwindow3:hscroll_to_range " \
591 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll_to_range \""
592 check_error
"scrolledwindow3:hscroll_to_range nnn" \
593 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll_to_range nnn\""
594 check_error
"scrolledwindow3:hscroll_to_range 10" \
595 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll_to_range 10\""
596 check_error
"scrolledwindow3:hscroll_to_range 10 nnn" \
597 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll_to_range 10 nnn\""
598 check_error
"scrolledwindow3:hscroll_to_range nnn 10" \
599 "ignoring GtkScrolledWindow command \"scrolledwindow3:hscroll_to_range nnn 10\""
600 check_error
"scrolledwindow3:vscroll_to_range" \
601 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll_to_range\""
602 check_error
"scrolledwindow3:vscroll_to_range " \
603 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll_to_range \""
604 check_error
"scrolledwindow3:vscroll_to_range nnn" \
605 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll_to_range nnn\""
606 check_error
"scrolledwindow3:vscroll_to_range 10" \
607 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll_to_range 10\""
608 check_error
"scrolledwindow3:vscroll_to_range 10 nnn" \
609 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll_to_range 10 nnn\""
610 check_error
"scrolledwindow3:vscroll_to_range nnn 10" \
611 "ignoring GtkScrolledWindow command \"scrolledwindow3:vscroll_to_range nnn 10\""
613 check_error
"eventbox1:nnn" \
614 "ignoring GtkEventBox command \"eventbox1:nnn\""
616 check_error
"drawingarea1:nnn" \
617 "ignoring GtkDrawingArea command \"drawingarea1:nnn\""
618 check_error
"drawingarea1:rectangle" \
619 "ignoring GtkDrawingArea command \"drawingarea1:rectangle\""
620 check_error
"drawingarea1:rectangle " \
621 "ignoring GtkDrawingArea command \"drawingarea1:rectangle \""
622 check_error
"drawingarea1:rectangle nnn" \
623 "ignoring GtkDrawingArea command \"drawingarea1:rectangle nnn\""
624 check_error
"drawingarea1:rectangle 1" \
625 "ignoring GtkDrawingArea command \"drawingarea1:rectangle 1\""
626 check_error
"drawingarea1:rectangle 1 10" \
627 "ignoring GtkDrawingArea command \"drawingarea1:rectangle 1 10\""
628 check_error
"drawingarea1:rectangle 1 10 10" \
629 "ignoring GtkDrawingArea command \"drawingarea1:rectangle 1 10 10\""
630 check_error
"drawingarea1:rectangle 1 10 10 20" \
631 "ignoring GtkDrawingArea command \"drawingarea1:rectangle 1 10 10 20\""
632 check_error
"drawingarea1:rectangle 1 10 10 20 nnn" \
633 "ignoring GtkDrawingArea command \"drawingarea1:rectangle 1 10 10 20 nnn\""
634 check_error
"drawingarea1:arc" \
635 "ignoring GtkDrawingArea command \"drawingarea1:arc\""
636 check_error
"drawingarea1:arc " \
637 "ignoring GtkDrawingArea command \"drawingarea1:arc \""
638 check_error
"drawingarea1:arc nnn" \
639 "ignoring GtkDrawingArea command \"drawingarea1:arc nnn\""
640 check_error
"drawingarea1:arc 1" \
641 "ignoring GtkDrawingArea command \"drawingarea1:arc 1\""
642 check_error
"drawingarea1:arc 1 10" \
643 "ignoring GtkDrawingArea command \"drawingarea1:arc 1 10\""
644 check_error
"drawingarea1:arc 1 10 10" \
645 "ignoring GtkDrawingArea command \"drawingarea1:arc 1 10 10\""
646 check_error
"drawingarea1:arc 1 10 10 20" \
647 "ignoring GtkDrawingArea command \"drawingarea1:arc 1 10 10 20\""
648 check_error
"drawingarea1:arc 1 10 10 20 45" \
649 "ignoring GtkDrawingArea command \"drawingarea1:arc 1 10 10 20 45\""
650 check_error
"drawingarea1:arc 1 10 10 20 45 nnn" \
651 "ignoring GtkDrawingArea command \"drawingarea1:arc 1 10 10 20 45 nnn\""
652 check_error
"drawingarea1:arc_negative" \
653 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative\""
654 check_error
"drawingarea1:arc_negative " \
655 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative \""
656 check_error
"drawingarea1:arc_negative nnn" \
657 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative nnn\""
658 check_error
"drawingarea1:arc_negative 1" \
659 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative 1\""
660 check_error
"drawingarea1:arc_negative 1 10" \
661 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative 1 10\""
662 check_error
"drawingarea1:arc_negative 1 10 10" \
663 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative 1 10 10\""
664 check_error
"drawingarea1:arc_negative 1 10 10 20" \
665 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative 1 10 10 20\""
666 check_error
"drawingarea1:arc_negative 1 10 10 20 45" \
667 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative 1 10 10 20 45\""
668 check_error
"drawingarea1:arc_negative 1 10 10 20 45 nnn" \
669 "ignoring GtkDrawingArea command \"drawingarea1:arc_negative 1 10 10 20 45 nnn\""
670 check_error
"drawingarea1:curve_to" \
671 "ignoring GtkDrawingArea command \"drawingarea1:curve_to\""
672 check_error
"drawingarea1:curve_to " \
673 "ignoring GtkDrawingArea command \"drawingarea1:curve_to \""
674 check_error
"drawingarea1:curve_to nnn" \
675 "ignoring GtkDrawingArea command \"drawingarea1:curve_to nnn\""
676 check_error
"drawingarea1:curve_to 1" \
677 "ignoring GtkDrawingArea command \"drawingarea1:curve_to 1\""
678 check_error
"drawingarea1:curve_to 1 10" \
679 "ignoring GtkDrawingArea command \"drawingarea1:curve_to 1 10\""
680 check_error
"drawingarea1:curve_to 1 10 10" \
681 "ignoring GtkDrawingArea command \"drawingarea1:curve_to 1 10 10\""
682 check_error
"drawingarea1:curve_to 1 10 10 20" \
683 "ignoring GtkDrawingArea command \"drawingarea1:curve_to 1 10 10 20\""
684 check_error
"drawingarea1:curve_to 1 10 10 20 20" \
685 "ignoring GtkDrawingArea command \"drawingarea1:curve_to 1 10 10 20 20\""
686 check_error
"drawingarea1:curve_to 1 10 10 20 20 25" \
687 "ignoring GtkDrawingArea command \"drawingarea1:curve_to 1 10 10 20 20 25\""
688 check_error
"drawingarea1:curve_to 1 10 10 20 20 25 nnn" \
689 "ignoring GtkDrawingArea command \"drawingarea1:curve_to 1 10 10 20 20 25 nnn\""
690 check_error
"drawingarea1:rel_curve_to" \
691 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to\""
692 check_error
"drawingarea1:rel_curve_to " \
693 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to \""
694 check_error
"drawingarea1:rel_curve_to nnn" \
695 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to nnn\""
696 check_error
"drawingarea1:rel_curve_to 1" \
697 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to 1\""
698 check_error
"drawingarea1:rel_curve_to 1 10" \
699 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to 1 10\""
700 check_error
"drawingarea1:rel_curve_to 1 10 10" \
701 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to 1 10 10\""
702 check_error
"drawingarea1:rel_curve_to 1 10 10 20" \
703 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to 1 10 10 20\""
704 check_error
"drawingarea1:rel_curve_to 1 10 10 20 20" \
705 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to 1 10 10 20 20\""
706 check_error
"drawingarea1:rel_curve_to 1 10 10 20 20 25" \
707 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to 1 10 10 20 20 25\""
708 check_error
"drawingarea1:rel_curve_to 1 10 10 20 20 25 nnn" \
709 "ignoring GtkDrawingArea command \"drawingarea1:rel_curve_to 1 10 10 20 20 25 nnn\""
710 check_error
"drawingarea1:line_to" \
711 "ignoring GtkDrawingArea command \"drawingarea1:line_to\""
712 check_error
"drawingarea1:line_to " \
713 "ignoring GtkDrawingArea command \"drawingarea1:line_to \""
714 check_error
"drawingarea1:line_to nnn" \
715 "ignoring GtkDrawingArea command \"drawingarea1:line_to nnn\""
716 check_error
"drawingarea1:line_to 1" \
717 "ignoring GtkDrawingArea command \"drawingarea1:line_to 1\""
718 check_error
"drawingarea1:line_to 1 20" \
719 "ignoring GtkDrawingArea command \"drawingarea1:line_to 1 20\""
720 check_error
"drawingarea1:line_to 1 20 nnn" \
721 "ignoring GtkDrawingArea command \"drawingarea1:line_to 1 20 nnn\""
722 check_error
"drawingarea1:rel_line_to" \
723 "ignoring GtkDrawingArea command \"drawingarea1:rel_line_to\""
724 check_error
"drawingarea1:rel_line_to " \
725 "ignoring GtkDrawingArea command \"drawingarea1:rel_line_to \""
726 check_error
"drawingarea1:rel_line_to nnn" \
727 "ignoring GtkDrawingArea command \"drawingarea1:rel_line_to nnn\""
728 check_error
"drawingarea1:rel_line_to 1" \
729 "ignoring GtkDrawingArea command \"drawingarea1:rel_line_to 1\""
730 check_error
"drawingarea1:rel_line_to 1 20" \
731 "ignoring GtkDrawingArea command \"drawingarea1:rel_line_to 1 20\""
732 check_error
"drawingarea1:rel_line_to 1 20 nnn" \
733 "ignoring GtkDrawingArea command \"drawingarea1:rel_line_to 1 20 nnn\""
734 check_error
"drawingarea1:move_to" \
735 "ignoring GtkDrawingArea command \"drawingarea1:move_to\""
736 check_error
"drawingarea1:move_to " \
737 "ignoring GtkDrawingArea command \"drawingarea1:move_to \""
738 check_error
"drawingarea1:move_to nnn" \
739 "ignoring GtkDrawingArea command \"drawingarea1:move_to nnn\""
740 check_error
"drawingarea1:move_to 1" \
741 "ignoring GtkDrawingArea command \"drawingarea1:move_to 1\""
742 check_error
"drawingarea1:move_to 1 20" \
743 "ignoring GtkDrawingArea command \"drawingarea1:move_to 1 20\""
744 check_error
"drawingarea1:move_to 1 20 nnn" \
745 "ignoring GtkDrawingArea command \"drawingarea1:move_to 1 20 nnn\""
746 check_error
"drawingarea1:rel_move_to" \
747 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_to\""
748 check_error
"drawingarea1:rel_move_to " \
749 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_to \""
750 check_error
"drawingarea1:rel_move_to nnn" \
751 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_to nnn\""
752 check_error
"drawingarea1:rel_move_to 1" \
753 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_to 1\""
754 check_error
"drawingarea1:rel_move_to 1 20" \
755 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_to 1 20\""
756 check_error
"drawingarea1:rel_move_to 1 20 nnn" \
757 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_to 1 20 nnn\""
758 check_error
"drawingarea1:close_path" \
759 "ignoring GtkDrawingArea command \"drawingarea1:close_path\""
760 check_error
"drawingarea1:close_path " \
761 "ignoring GtkDrawingArea command \"drawingarea1:close_path \""
762 check_error
"drawingarea1:close_path nnn" \
763 "ignoring GtkDrawingArea command \"drawingarea1:close_path nnn\""
764 check_error
"drawingarea1:set_source_rgba" \
765 "ignoring GtkDrawingArea command \"drawingarea1:set_source_rgba\""
766 check_error
"drawingarea1:set_source_rgba " \
767 "ignoring GtkDrawingArea command \"drawingarea1:set_source_rgba \""
768 check_error
"drawingarea1:set_source_rgba nnn" \
769 "ignoring GtkDrawingArea command \"drawingarea1:set_source_rgba nnn\""
770 check_error
"drawingarea1:set_dash" \
771 "ignoring GtkDrawingArea command \"drawingarea1:set_dash\""
772 check_error
"drawingarea1:set_dash " \
773 "ignoring GtkDrawingArea command \"drawingarea1:set_dash \""
774 check_error
"drawingarea1:set_dash nnn" \
775 "ignoring GtkDrawingArea command \"drawingarea1:set_dash nnn\""
776 check_error
"drawingarea1:set_line_cap" \
777 "ignoring GtkDrawingArea command \"drawingarea1:set_line_cap\""
778 check_error
"drawingarea1:set_line_cap " \
779 "ignoring GtkDrawingArea command \"drawingarea1:set_line_cap \""
780 check_error
"drawingarea1:set_line_cap nnn" \
781 "ignoring GtkDrawingArea command \"drawingarea1:set_line_cap nnn\""
782 check_error
"drawingarea1:set_line_cap 1" \
783 "ignoring GtkDrawingArea command \"drawingarea1:set_line_cap 1\""
784 check_error
"drawingarea1:set_line_cap 1 nnn" \
785 "ignoring GtkDrawingArea command \"drawingarea1:set_line_cap 1 nnn\""
786 check_error
"drawingarea1:set_line_join" \
787 "ignoring GtkDrawingArea command \"drawingarea1:set_line_join\""
788 check_error
"drawingarea1:set_line_join " \
789 "ignoring GtkDrawingArea command \"drawingarea1:set_line_join \""
790 check_error
"drawingarea1:set_line_join nnn" \
791 "ignoring GtkDrawingArea command \"drawingarea1:set_line_join nnn\""
792 check_error
"drawingarea1:set_line_join 1" \
793 "ignoring GtkDrawingArea command \"drawingarea1:set_line_join 1\""
794 check_error
"drawingarea1:set_line_join 1 nnn" \
795 "ignoring GtkDrawingArea command \"drawingarea1:set_line_join 1 nnn\""
796 check_error
"drawingarea1:set_line_width" \
797 "ignoring GtkDrawingArea command \"drawingarea1:set_line_width\""
798 check_error
"drawingarea1:set_line_width " \
799 "ignoring GtkDrawingArea command \"drawingarea1:set_line_width \""
800 check_error
"drawingarea1:set_line_width nnn" \
801 "ignoring GtkDrawingArea command \"drawingarea1:set_line_width nnn\""
802 check_error
"drawingarea1:set_line_width 1" \
803 "ignoring GtkDrawingArea command \"drawingarea1:set_line_width 1\""
804 check_error
"drawingarea1:set_line_width 1 nnn" \
805 "ignoring GtkDrawingArea command \"drawingarea1:set_line_width 1 nnn\""
806 check_error
"drawingarea1:fill" \
807 "ignoring GtkDrawingArea command \"drawingarea1:fill\""
808 check_error
"drawingarea1:fill " \
809 "ignoring GtkDrawingArea command \"drawingarea1:fill \""
810 check_error
"drawingarea1:fill nnn" \
811 "ignoring GtkDrawingArea command \"drawingarea1:fill nnn\""
812 check_error
"drawingarea1:fill_preserve" \
813 "ignoring GtkDrawingArea command \"drawingarea1:fill_preserve\""
814 check_error
"drawingarea1:fill_preserve " \
815 "ignoring GtkDrawingArea command \"drawingarea1:fill_preserve \""
816 check_error
"drawingarea1:fill_preserve nnn" \
817 "ignoring GtkDrawingArea command \"drawingarea1:fill_preserve nnn\""
818 check_error
"drawingarea1:stroke" \
819 "ignoring GtkDrawingArea command \"drawingarea1:stroke\""
820 check_error
"drawingarea1:stroke " \
821 "ignoring GtkDrawingArea command \"drawingarea1:stroke \""
822 check_error
"drawingarea1:stroke nnn" \
823 "ignoring GtkDrawingArea command \"drawingarea1:stroke nnn\""
824 check_error
"drawingarea1:stroke_preserve" \
825 "ignoring GtkDrawingArea command \"drawingarea1:stroke_preserve\""
826 check_error
"drawingarea1:stroke_preserve " \
827 "ignoring GtkDrawingArea command \"drawingarea1:stroke_preserve \""
828 check_error
"drawingarea1:stroke_preserve nnn" \
829 "ignoring GtkDrawingArea command \"drawingarea1:stroke_preserve nnn\""
830 check_error
"drawingarea1:remove" \
831 "ignoring GtkDrawingArea command \"drawingarea1:remove\""
832 check_error
"drawingarea1:remove " \
833 "ignoring GtkDrawingArea command \"drawingarea1:remove \""
834 check_error
"drawingarea1:remove nnn" \
835 "ignoring GtkDrawingArea command \"drawingarea1:remove nnn\""
836 check_error
"drawingarea1:set_show_text" \
837 "ignoring GtkDrawingArea command \"drawingarea1:set_show_text\""
838 check_error
"drawingarea1:set_show_text " \
839 "ignoring GtkDrawingArea command \"drawingarea1:set_show_text \""
840 check_error
"drawingarea1:set_show_text nnn" \
841 "ignoring GtkDrawingArea command \"drawingarea1:set_show_text nnn\""
842 check_error
"drawingarea1:set_font_size" \
843 "ignoring GtkDrawingArea command \"drawingarea1:set_font_size\""
844 check_error
"drawingarea1:set_font_size " \
845 "ignoring GtkDrawingArea command \"drawingarea1:set_font_size \""
846 check_error
"drawingarea1:set_font_size nnn" \
847 "ignoring GtkDrawingArea command \"drawingarea1:set_font_size nnn\""
848 check_error
"drawingarea1:set_font_size 1" \
849 "ignoring GtkDrawingArea command \"drawingarea1:set_font_size 1\""
850 check_error
"drawingarea1:set_font_size 1 nnn" \
851 "ignoring GtkDrawingArea command \"drawingarea1:set_font_size 1 nnn\""
852 check_error
"drawingarea1:set_font_face" \
853 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face\""
854 check_error
"drawingarea1:set_font_face 1" \
855 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face 1\""
856 check_error
"drawingarea1:set_font_face 1 normal" \
857 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face 1 normal\""
858 check_error
"drawingarea1:set_font_face 1 normal nnn" \
859 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face 1 normal nnn\""
860 check_error
"drawingarea1:set_font_face 1 nnn normal" \
861 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face 1 nnn normal\""
862 check_error
"drawingarea1:set_font_face x normal normal" \
863 "ignoring GtkDrawingArea command \"drawingarea1:set_font_face x normal normal\""
864 check_error
"drawingarea1:rel_move_for" \
865 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_for\""
866 check_error
"drawingarea1:rel_move_for " \
867 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_for \""
868 check_error
"drawingarea1:rel_move_for 1" \
869 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_for 1\""
870 check_error
"drawingarea1:rel_move_for 1 nnn Text" \
871 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_for 1 nnn Text\""
872 check_error
"drawingarea1:rel_move_for nnn c Text" \
873 "ignoring GtkDrawingArea command \"drawingarea1:rel_move_for nnn c Text\""
875 echo "_:main_quit" >$FIN
882 .
/pipeglade
-i $FIN 2> $FERR -l - &
884 # wait for $FIN to appear
885 while test ! \
( -e $FIN \
); do :; done
887 check_error
"# Comment" \
888 "########## ##### (New Pipeglade session) #####"
891 check_error
"_:main_quit" \
903 # Tests for the principal functionality---valid actions leading to
904 # correct results. Manual intervention is required. Instructions
905 # will be given on the statusbar of the test GUI.
906 ######################################################################
911 # check nr_of_feedback_msgs user_instruction command expected_feedback1 expected_feedback2 ...
913 # Flush stale pipeglade output
914 while read -t .1 <$FOUT; do : ; done
918 if test "$INSTRUCTION"; then
919 echo -e "statusbar1:push_id =check= $INSTRUCTION" >$FIN
925 if test "$r" != ""; then
926 if grep -qe "$4" <<< $r; then
938 if test "$INSTRUCTION"; then
939 echo -e "statusbar1:pop_id =check=" >$FIN
944 # Logging to stderr while redirecting stderr
945 .
/pipeglade
-i $FIN -o $FOUT -O $ERR_FILE -l - &
947 # wait for $FIN to appear
948 while test ! \
( -e $FIN \
); do :; done
956 check_cmd
"grep -qe \"# Comment\" $ERR_FILE"
957 check_cmd
"grep -qe \"ignoring command\" $ERR_FILE"
961 # check if stdout remains line buffered even if directed to file
962 .
/pipeglade
-i $FIN >$OUT_FILE &
963 # wait for $FIN to appear
964 while test ! \
( -e $FIN \
); do :; done
965 echo "button1:force" >$FIN
966 check_cmd
"grep -qe 'button1:clicked' $OUT_FILE"
967 echo "_:main_quit" >$FIN
971 .
/pipeglade
-i $FIN -o $FOUT -b >$PID_FILE
972 check_cmd
"kill `cat $PID_FILE`"
976 .
/pipeglade
--display ${DISPLAY-:0} -i $FIN -o $FOUT &
978 # wait for $FIN and $FOUT to appear
979 while test ! \
( -e $FIN -a -e $FOUT \
); do :; done
982 "# checking --display $DISPLAY\n _:main_quit"
988 .
/pipeglade
-u simple_dialog.ui
-i $FIN -o $FOUT -b >$PID_FILE
990 # wait for $FIN and $FOUT to appear
991 while test ! \
( -e $FIN -a -e $FOUT \
); do :; done
993 check_cmd
"ps -p `cat $PID_FILE` >/dev/null"
995 "main_apply:force" "main_apply:clicked"
1001 check_cmd
"! ps -p `cat $PID_FILE` >/dev/null"
1005 .
/pipeglade
-u simple_dialog.ui
-i $FIN -o $FOUT &
1007 # wait for $FIN and $FOUT to appear
1008 while test ! \
( -e $FIN -a -e $FOUT \
); do :; done
1011 "button1:force" "button1:clicked"
1013 "main_ok:force" "main_ok:clicked"
1019 .
/pipeglade
-u simple_open.ui
-i $FIN -o $FOUT &
1021 # wait for $FIN and $FOUT to appear
1022 while test ! \
( -e $FIN -a -e $FOUT \
); do :; done
1025 "main_apply:force" \
1026 "main_apply:clicked" \
1036 .
/pipeglade
-u simple_open.ui
-i $FIN -o $FOUT &
1038 # wait for $FIN and $FOUT to appear
1039 while test ! \
( -e $FIN -a -e $FOUT \
); do :; done
1053 .
/pipeglade
-i $FIN -o $FOUT &
1054 check_cmd
"$STAT_CMD $FIN | grep '600$'"
1055 check_cmd
"$STAT_CMD $FOUT | grep '600$'"
1056 echo -e "_:main_quit" > $FIN
1060 .
/pipeglade
-i $FIN -o $FOUT &
1062 # wait for $FIN and $FOUT to appear
1063 while test ! \
( -e $FIN -a -e $FOUT \
); do :; done
1065 check_cmd
"$STAT_CMD $FIN | grep '600$'"
1066 check_cmd
"$STAT_CMD $FOUT | grep '600$'"
1067 echo -e "_:main_quit" > $FIN
1072 echo "#### # Initial line to check if -l option appends" >$LOG
1073 .
/pipeglade
-i $FIN -o $FOUT -l $LOG &
1075 # wait for $FIN and $FOUT to appear
1076 while test ! \
( -e $FIN -a -e $FOUT \
); do :; done
1081 XID
=${XID/socket1:id }
1082 (sleep .5; .
/pipeglade
-u simple_dialog.ui
-e $XID <<< "main_cancel:force") &
1085 "socket1:plug-added" \
1086 "socket1:plug-removed"
1087 (sleep .5; .
/pipeglade
-u simple_dialog.ui
-e $XID <<< "main_cancel:force") &
1090 "socket1:plug-added" \
1091 "socket1:plug-removed"
1094 "entry1:set_text FFFF" \
1100 "entry1:set_text FFFF" \
1103 "entry1:set_text " \
1106 "entry1:set_placeholder_text hint hint" # not much of a test
1108 "entry1:set_text FFFF" \
1111 "entry1:set_text GGGG" \
1117 "spinbutton1:set_text 33.0" \
1118 "spinbutton1:text 33.0"
1120 "radiobutton2:set_active 1" \
1124 "radiobutton1:set_active 1" \
1128 "switch1:set_active 1" \
1131 "switch1:set_active 0" \
1134 "togglebutton1:set_active 1" \
1137 "calendar1:select_date 1752-03-29" \
1138 "calendar1:clicked 1752-03-29"
1140 "progressbar1:set_text This Is A Progressbar."
1143 while (( i
<100 )); do
1145 echo -n "Repetitive input that is large enough to have the realloc() machinery kick in.---"
1148 "entry1:set_text $L" \
1151 check
1 "Open what should now be named \"EXPANDER\" and click the \"button inside expander\"" \
1152 "expander1:set_expanded 0\n expander1:set_label EXPANDER" \
1155 "expander1:set_expanded 0"
1158 "treeview2:set_visible 0\n treeview1:set 2 0 1\n treeview1:set 2 1 -30000\n treeview1:set 2 2 66\n treeview1:set 2 3 -2000000000\n treeview1:set 2 4 4000000000\n treeview1:set 2 5 -2000000000\n treeview1:set 2 6 4000000000\n treeview1:set 2 7 3.141\n treeview1:set 2 8 3.141\n treeview1:set 2 9 TEXT\n treeview1:set_cursor 2" \
1159 "treeview1:clicked" \
1160 "treeview1:gboolean 2 0 1" \
1161 "treeview1:gint 2 1 -30000" \
1162 "treeview1:guint 2 2 66" \
1163 "treeview1:glong 2 3 -2000000000" \
1164 "treeview1:glong 2 4 4000000000" \
1165 "treeview1:glong 2 5 -2000000000" \
1166 "treeview1:gulong 2 6 4000000000" \
1167 "treeview1:gfloat 2 7 3.141000" \
1168 "treeview1:gdouble 2 8 3.141000" \
1169 "treeview1:gchararray 2 9 TEXT" \
1170 "treeview1:gchararray 2 10 zzz"
1173 "treeview1:save $DIR/$FILE1"
1175 "treeview1:save $DIR/$FILE1.bak"
1177 "treeview1:set_cursor" \
1180 "treeview1:insert_row 0\n treeview1:insert_row 2\n treeview1:set_cursor 4" \
1181 "treeview1:clicked" \
1182 "treeview1:gboolean 4 0 1" \
1183 "treeview1:gint 4 1 -30000" \
1184 "treeview1:guint 4 2 66" \
1185 "treeview1:glong 4 3 -2000000000" \
1186 "treeview1:glong 4 4 4000000000" \
1187 "treeview1:glong 4 5 -2000000000" \
1188 "treeview1:gulong 4 6 4000000000" \
1189 "treeview1:gfloat 4 7 3.141000" \
1190 "treeview1:gdouble 4 8 3.141000" \
1191 "treeview1:gchararray 4 9 TEXT" \
1192 "treeview1:gchararray 4 10 zzz"
1194 "treeview1:set_cursor" \
1197 "treeview1:move_row 4 0\n treeview1:set_cursor 0" \
1198 "treeview1:clicked" \
1199 "treeview1:gboolean 0 0 1" \
1200 "treeview1:gint 0 1 -30000" \
1201 "treeview1:guint 0 2 66" \
1202 "treeview1:glong 0 3 -2000000000" \
1203 "treeview1:glong 0 4 4000000000" \
1204 "treeview1:glong 0 5 -2000000000" \
1205 "treeview1:gulong 0 6 4000000000" \
1206 "treeview1:gfloat 0 7 3.141000" \
1207 "treeview1:gdouble 0 8 3.141000" \
1208 "treeview1:gchararray 0 9 TEXT" \
1209 "treeview1:gchararray 0 10 zzz"
1211 "treeview1:set_cursor" \
1214 "treeview1:move_row 0 2\n treeview1:set_cursor 1" \
1215 "treeview1:clicked" \
1216 "treeview1:gboolean 1 0 1" \
1217 "treeview1:gint 1 1 -30000" \
1218 "treeview1:guint 1 2 66" \
1219 "treeview1:glong 1 3 -2000000000" \
1220 "treeview1:glong 1 4 4000000000" \
1221 "treeview1:glong 1 5 -2000000000" \
1222 "treeview1:gulong 1 6 4000000000" \
1223 "treeview1:gfloat 1 7 3.141000" \
1224 "treeview1:gdouble 1 8 3.141000" \
1225 "treeview1:gchararray 1 9 TEXT" \
1226 "treeview1:gchararray 1 10 zzz"
1228 "treeview1:set_cursor" \
1231 "treeview1:insert_row end\n treeview1:move_row 1 end\n treeview1:set_cursor 6" \
1232 "treeview1:clicked" \
1233 "treeview1:gboolean 6 0 1" \
1234 "treeview1:gint 6 1 -30000" \
1235 "treeview1:guint 6 2 66" \
1236 "treeview1:glong 6 3 -2000000000" \
1237 "treeview1:glong 6 4 4000000000" \
1238 "treeview1:glong 6 5 -2000000000" \
1239 "treeview1:gulong 6 6 4000000000" \
1240 "treeview1:gfloat 6 7 3.141000" \
1241 "treeview1:gdouble 6 8 3.141000" \
1242 "treeview1:gchararray 6 9 TEXT" \
1243 "treeview1:gchararray 6 10 zzz"
1245 "treeview1:set_cursor" \
1248 "treeview1:remove_row 0\n treeview1:remove_row 2\n treeview1:set_cursor 4" \
1249 "treeview1:clicked" \
1250 "treeview1:gboolean 4 0 1" \
1251 "treeview1:gint 4 1 -30000" \
1252 "treeview1:guint 4 2 66" \
1253 "treeview1:glong 4 3 -2000000000" \
1254 "treeview1:glong 4 4 4000000000" \
1255 "treeview1:glong 4 5 -2000000000" \
1256 "treeview1:gulong 4 6 4000000000" \
1257 "treeview1:gfloat 4 7 3.141000" \
1258 "treeview1:gdouble 4 8 3.141000" \
1259 "treeview1:gchararray 4 9 TEXT" \
1260 "treeview1:gchararray 4 10 zzz"
1262 "treeview1:set_cursor" \
1264 check
12 "Click the 66% (move_row)" \
1265 "treeview1:move_row 0 end\n treeview1:set_cursor 3" \
1266 "treeview1:clicked" \
1267 "treeview1:gboolean 3 0 1" \
1268 "treeview1:gint 3 1 -30000" \
1269 "treeview1:guint 3 2 66" \
1270 "treeview1:glong 3 3 -2000000000" \
1271 "treeview1:glong 3 4 4000000000" \
1272 "treeview1:glong 3 5 -2000000000" \
1273 "treeview1:gulong 3 6 4000000000" \
1274 "treeview1:gfloat 3 7 3.141000" \
1275 "treeview1:gdouble 3 8 3.141000" \
1276 "treeview1:gchararray 3 9 TEXT" \
1277 "treeview1:gchararray 3 10 zzz"
1279 "treeview1:remove_row 3" \
1280 "treeview1:clicked" \
1281 "treeview1:gboolean 3 0 0" \
1282 "treeview1:gint 3 1 0" \
1283 "treeview1:guint 3 2 0" \
1284 "treeview1:glong 3 3 0" \
1285 "treeview1:glong 3 4 0" \
1286 "treeview1:glong 3 5 0" \
1287 "treeview1:gulong 3 6 0" \
1288 "treeview1:gfloat 3 7 0.000000" \
1289 "treeview1:gdouble 3 8 0.000000" \
1290 "treeview1:gchararray 3 9 abc" \
1291 "treeview1:gchararray 3 10 xxx" \
1292 "treeview1:clicked" \
1293 "treeview1:gboolean 3 0 0" \
1294 "treeview1:gint 3 1 0" \
1295 "treeview1:guint 3 2 0" \
1296 "treeview1:glong 3 3 0" \
1297 "treeview1:glong 3 4 0" \
1298 "treeview1:glong 3 5 0" \
1299 "treeview1:gulong 3 6 0" \
1300 "treeview1:gfloat 3 7 0.000000" \
1301 "treeview1:gdouble 3 8 0.000000" \
1302 "treeview1:gchararray 3 9 abc" \
1303 "treeview1:gchararray 3 10 xxx"
1304 check
1 "Click column col4 in the lowest line visible in the scrolled area and type 444 <Enter> (scroll)" \
1305 "treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:insert_row 2\n treeview1:scroll 24 0" \
1306 "treeview1:gint 24 1 444"
1307 check
12 "Click column col3 in the highest line visible in the scrolled area (scroll)" \
1308 "treeview1:scroll 1 0" \
1309 "treeview1:clicked" \
1310 "treeview1:gboolean 1 0 1" \
1311 "treeview1:gint 1 1 3" \
1312 "treeview1:guint 1 2 0" \
1313 "treeview1:glong 1 3 0" \
1314 "treeview1:glong 1 4 0" \
1315 "treeview1:glong 1 5 0" \
1316 "treeview1:gulong 1 6 0" \
1317 "treeview1:gfloat 1 7 0.000000" \
1318 "treeview1:gdouble 1 8 0.000000" \
1319 "treeview1:gchararray 1 9 jkl" \
1320 "treeview1:gchararray 1 10 ZZZ"
1322 check
1 "Click the header of column \"col3\"" \
1324 "treeviewcolumn3:clicked"
1327 "treeview1:clear\n button1:force" \
1328 "treeview1:clicked" \
1332 "treeview2:set_visible 1\n treeview2:insert_row end\n treeview2:insert_row 0 as_child\n treeview2:insert_row 0:0 as_child\n treeview2:insert_row 0:0\n treeview2:set 100:1:0 0 1\n treeview2:set 100:1:0 1 -30000\n treeview2:set 100:1:0 2 33\n treeview2:set 100:1:0 3 -2000000000\n treeview2:set 100:1:0 4 4000000000\n treeview2:set 100:1:0 5 -2000000000\n treeview2:set 100:1:0 6 4000000000\n treeview2:set 100:1:0 7 3.141\n treeview2:set 100:1:0 8 3.141\n treeview2:set 100:1:0 9 TEXT\n treeview2:expand_all\n treeview2:set_cursor 100:1:0" \
1333 "treeview2:clicked" \
1334 "treeview2:gboolean 100:1:0 0 1" \
1335 "treeview2:gint 100:1:0 1 -30000" \
1336 "treeview2:guint 100:1:0 2 33" \
1337 "treeview2:glong 100:1:0 3 -2000000000" \
1338 "treeview2:glong 100:1:0 4 4000000000" \
1339 "treeview2:glong 100:1:0 5 -2000000000" \
1340 "treeview2:gulong 100:1:0 6 4000000000" \
1341 "treeview2:gfloat 100:1:0 7 3.141000" \
1342 "treeview2:gdouble 100:1:0 8 3.141000" \
1343 "treeview2:gchararray 100:1:0 9 TEXT" \
1344 "treeview2:gchararray 100:1:0 10"
1346 "treeview2:set_cursor" \
1349 "treeview2:insert_row 0\n treeview2:insert_row 0\n treeview2:set 102:1 3 876543210\n treeview2:set 102 3 448822\n treeview2:collapse\n treeview2:set_cursor 102" \
1350 "treeview2:clicked" \
1351 "treeview2:gboolean 102 0 0" \
1352 "treeview2:gint 102 1 0" \
1353 "treeview2:guint 102 2 0" \
1354 "treeview2:glong 102 3 448822" \
1355 "treeview2:glong 102 4 0" \
1356 "treeview2:glong 102 5 0" \
1357 "treeview2:gulong 102 6 0" \
1358 "treeview2:gfloat 102 7 0.000000" \
1359 "treeview2:gdouble 102 8 0.000000" \
1360 "treeview2:gchararray 102 9" \
1361 "treeview2:gchararray 102 10"
1363 "treeview2:set_cursor" \
1366 "treeview2:save $DIR/$FILE2"
1368 "treeview2:save $DIR/$FILE2.bak"
1370 "treeview2:insert_row 0\n treeview2:collapse\n treeview2:set_cursor 103" \
1371 "treeview2:clicked" \
1372 "treeview2:gboolean 103 0 0" \
1373 "treeview2:gint 103 1 0" \
1374 "treeview2:guint 103 2 0" \
1375 "treeview2:glong 103 3 448822" \
1376 "treeview2:glong 103 4 0" \
1377 "treeview2:glong 103 5 0" \
1378 "treeview2:gulong 103 6 0" \
1379 "treeview2:gfloat 103 7 0.000000" \
1380 "treeview2:gdouble 103 8 0.000000" \
1381 "treeview2:gchararray 103 9" \
1382 "treeview2:gchararray 103 10"
1384 "treeview2:set_cursor" \
1386 check
12 "Click the lowest line visible in the scrolled area (1)" \
1387 "treeview2:expand_all 103\n treeview2:scroll 103:1:0 0" \
1388 "treeview2:clicked" \
1389 "treeview2:gboolean 103:1:0 0 1" \
1390 "treeview2:gint 103:1:0 1 -30000" \
1391 "treeview2:guint 103:1:0 2 33" \
1392 "treeview2:glong 103:1:0 3 -2000000000" \
1393 "treeview2:glong 103:1:0 4 4000000000" \
1394 "treeview2:glong 103:1:0 5 -2000000000" \
1395 "treeview2:gulong 103:1:0 6 4000000000" \
1396 "treeview2:gfloat 103:1:0 7 3.141000" \
1397 "treeview2:gdouble 103:1:0 8 3.141000" \
1398 "treeview2:gchararray 103:1:0 9 TEXT" \
1399 "treeview2:gchararray 103:1:0 10"
1401 "treeview2:set_cursor" \
1403 check
12 "Click the lowest visible line (2)" \
1404 "treeview2:collapse\n treeview2:expand 103\n treeview2:scroll 103:1 0" \
1405 "treeview2:clicked" \
1406 "treeview2:gboolean 103:1 0 0" \
1407 "treeview2:gint 103:1 1 0" \
1408 "treeview2:guint 103:1 2 0" \
1409 "treeview2:glong 103:1 3 876543210" \
1410 "treeview2:glong 103:1 4 0" \
1411 "treeview2:glong 103:1 5 0" \
1412 "treeview2:gulong 103:1 6 0" \
1413 "treeview2:gfloat 103:1 7 0.000000" \
1414 "treeview2:gdouble 103:1 8 0.000000" \
1415 "treeview2:gchararray 103:1 9" \
1416 "treeview2:gchararray 103:1 10"
1418 "treeview2:set_cursor" \
1420 check
12 "Click the lowest visible line (3)" \
1421 "treeview2:collapse\n treeview2:expand_all\n treeview2:scroll 103:1:0 0" \
1422 "treeview2:clicked" \
1423 "treeview2:gboolean 103:1:0 0 1" \
1424 "treeview2:gint 103:1:0 1 -30000" \
1425 "treeview2:guint 103:1:0 2 33" \
1426 "treeview2:glong 103:1:0 3 -2000000000" \
1427 "treeview2:glong 103:1:0 4 4000000000" \
1428 "treeview2:glong 103:1:0 5 -2000000000" \
1429 "treeview2:gulong 103:1:0 6 4000000000" \
1430 "treeview2:gfloat 103:1:0 7 3.141000" \
1431 "treeview2:gdouble 103:1:0 8 3.141000" \
1432 "treeview2:gchararray 103:1:0 9 TEXT" \
1433 "treeview2:gchararray 103:1:0 10"
1435 "treeview2:set_cursor" \
1437 check
12 "Click the lowest visible line (4)" \
1438 "treeview2:expand_all\n treeview2:collapse 103:1\n treeview2:scroll 103:1 0" \
1439 "treeview2:clicked" \
1440 "treeview2:gboolean 103:1 0 0" \
1441 "treeview2:gint 103:1 1 0" \
1442 "treeview2:guint 103:1 2 0" \
1443 "treeview2:glong 103:1 3 876543210" \
1444 "treeview2:glong 103:1 4 0" \
1445 "treeview2:glong 103:1 5 0" \
1446 "treeview2:gulong 103:1 6 0" \
1447 "treeview2:gfloat 103:1 7 0.000000" \
1448 "treeview2:gdouble 103:1 8 0.000000" \
1449 "treeview2:gchararray 103:1 9" \
1450 "treeview2:gchararray 103:1 10"
1452 "treeview2:set_cursor" \
1456 "treeview1:clear\n treeview1:set 1 9 ABC\\\\nDEF\\\\nGHI\n treeview1:set_cursor 1" \
1457 "treeview1:clicked" \
1458 "treeview1:gboolean 1 0 0" \
1459 "treeview1:gint 1 1 0" \
1460 "treeview1:guint 1 2 0" \
1461 "treeview1:glong 1 3 0" \
1462 "treeview1:glong 1 4 0" \
1463 "treeview1:glong 1 5 0" \
1464 "treeview1:gulong 1 6 0" \
1465 "treeview1:gfloat 1 7 0.000000" \
1466 "treeview1:gdouble 1 8 0.000000" \
1467 "treeview1:gchararray 1 9 ABCnDEFnGHI" \
1468 "treeview1:gchararray 1 10"
1471 "treeview1:clear\n treeview2:clear"
1473 "_:load $DIR/$FILE1"
1477 "treeview1:save $DIR/$FILE1\n button1:force" \
1479 check_cmd
"cmp $DIR/$FILE1 $DIR/$FILE1.bak"
1481 "treeview1:clear\n treeview2:clear"
1483 "_:load $DIR/$FILE2"
1488 "treeview2:save $DIR/$FILE2\n button1:force" \
1490 check_cmd
"cmp $DIR/$FILE2 $DIR/$FILE2.bak"
1491 cat >$DIR/$FILE3 <<< "_:load $DIR/$FILE1.bak"
1492 cat >>$DIR/$FILE3 <<< "_:load $DIR/$FILE2.bak"
1493 cat >$DIR/$FILE4 <<< "_:load $DIR/$FILE3"
1494 cat >$DIR/$FILE5 <<< "_:load $DIR/$FILE4"
1495 cat >$DIR/$FILE6 <<< "_:load $DIR/$FILE5"
1496 rm -f $DIR/$FILE1 $DIR/$FILE2
1499 "treeview1:clear\n treeview2:clear"
1501 "_:load $DIR/$FILE6"
1502 rm -f $DIR/$FILE1 $DIR/$FILE2
1505 "treeview1:save $DIR/$FILE1\n treeview2:save $DIR/$FILE2\n button1:force" \
1507 check_cmd
"cmp $DIR/$FILE1 $DIR/$FILE1.bak"
1508 check_cmd
"cmp $DIR/$FILE2 $DIR/$FILE2.bak"
1511 "treeview2:clear\n treeview2:set 2 0 1"
1513 check
1 "Click the header of column \"col23\"" \
1515 "treeviewcolumn23:clicked"
1518 "notebook1:set_current_page 2"
1520 "nonexistent_send_text:force" \
1521 "nonexistent_send_text:clicked"
1523 "nonexistent_send_selection:force" \
1524 "nonexistent_send_selection:clicked"
1526 "nonexistent_ok:force" \
1527 "nonexistent_ok:clicked"
1529 "nonexistent_apply:force" \
1530 "nonexistent_apply:clicked"
1532 "nonexistent_cancel:force" \
1533 "nonexistent_cancel:clicked"
1535 "notebook1:set_current_page 1"
1537 "textview1_send_text:force" \
1538 "textview1_send_text:text some textnetcn"
1540 "textview1:place_cursor 5\n textview1:insert_at_cursor MORE \n textview1_send_text:force" \
1541 "textview1_send_text:text some MORE textnetcn"
1543 "textview1:place_cursor_at_line 1\n textview1:insert_at_cursor ETC \n textview1_send_text:force" \
1544 "textview1_send_text:text some MORE textnETC etcn"
1547 "textview1:save $DIR/$FILE1\n button1:force" \
1550 while (( i
<2000 )); do
1552 cat $DIR/$FILE1 >> $DIR/$FILE2
1555 while (( i
<2000 )); do
1557 echo "textview2:insert_at_cursor ##### THIS IS LINE $i.\\n" >> $DIR/$FILE3
1560 "_:load $DIR/$FILE2"
1562 "textview1:save $DIR/$FILE1"
1564 "textview1:save $DIR/$FILE1"
1570 "_:load $DIR/$FILE3"
1572 "_:load $DIR/$FILE1"
1574 "textview2:save $DIR/$FILE3"
1576 "textview1:save $DIR/$FILE2\n button1:force" \
1578 check_cmd
"cmp $DIR/$FILE1 $DIR/$FILE2"
1579 echo "textview1:insert_at_cursor I'm a text containing backslashes:\\nONE\\\\\nTWO\\\\\\\\\\nTHREE\\\\\\\\\\\\\\nEnd" > $DIR/$FILE1
1581 "textview1:delete\n _:load $DIR/$FILE1"
1583 "textview1:save $DIR/$FILE1\n textview1:save $DIR/$FILE2\n textview1:delete\n _:load $DIR/$FILE1\n button1:force" \
1588 "textview1:save $DIR/$FILE1\n button1:force" \
1590 check_cmd
"test 96 = `wc -c $DIR/$FILE1 | awk '{print $1}'`"
1591 check_cmd
"cmp $DIR/$FILE1 $DIR/$FILE2"
1593 "textview1:delete\n textview1_send_text:force" \
1594 "textview1_send_text:text"
1595 check
1 "Highlight the lowest visible character and press \"send_selection\"" \
1596 "textview1:place_cursor_at_line 1 \ntextview1:insert_at_cursor A\\\\nB\\\\nC\\\\nD\\\\nE\\\\nF\\\\nG\\\\nH\\\\nI\\\\nJ\\\\nK\\\\nL\\\\nM\\\\nN\\\\nO\\\\nP\\\\nQ\\\\nR\\\\nS\\\\nT\\\\nU\\\\nV\\\\nW\\\\nX\\\\nY\\\\nZ\\\\na\\\\nb\\\\nc\\\\nd\\\\ne\\\\nf\\\\ng\\\\nh\\\\ni\\\\nj\\\\nk\\\\nl\\\\nm\\\\nn\\\\no\\\\np\\\\nq\\\\nr\\\\ns\\\\nt\\\\nu\\\\nv\\\\nw\\\\nx\\\\ny\\\\nz \n textview1:place_cursor_at_line 46 \n textview1:scroll_to_cursor" \
1597 "textview1_send_selection:text u"
1598 check
1 "Again, highlight the lowest visible character and press \"send_selection\"" \
1599 "textview1:place_cursor end\n textview1:scroll_to_cursor" \
1600 "textview1_send_selection:text z"
1601 check
1 "Highlight the highest visible character and press \"send_selection\"" \
1602 "textview1:place_cursor 0 \n textview1:scroll_to_cursor" \
1603 "textview1_send_selection:text A"
1605 "treeview2:set 100:10:5 2 8888888\n treeview2:save $DIR/$FILE1\n textview2:save $DIR/$FILE2\n button1:force" \
1607 cp $DIR/$FILE1 $DIR/$FILE4
1608 check_cmd
"cmp $DIR/$FILE2 $DIR/$FILE3"
1610 "treeview2:clear\n textview2:delete\n _:load $DIR/$FILE1\n _:load $DIR/$FILE2\n button1:force" \
1612 rm $DIR/$FILE1 $DIR/$FILE2
1615 "treeview2:save $DIR/$FILE1\n textview2:save $DIR/$FILE2\n button1:force" \
1617 check_cmd
"cmp $DIR/$FILE1 $DIR/$FILE4"
1618 check_cmd
"cmp $DIR/$FILE2 $DIR/$FILE3"
1622 "scale1:set_value 10\n scale1:force" \
1623 "scale1:value 10.000000"
1625 "open_dialog:set_filename q.png\n file:force\n open_dialog_invoke:force\n open_dialog_apply:force\n open_dialog_ok:force" \
1626 "file:active _File" \
1627 "open_dialog_apply:clicked" \
1628 "open_dialog:file $PWD/q.png" \
1629 "open_dialog:folder $PWD" \
1630 "open_dialog_ok:clicked" \
1631 "open_dialog:file $PWD/q.png" \
1632 "open_dialog:folder $PWD"
1634 "file:force\n open_dialog_invoke:force\n open_dialog_cancel:force" \
1635 "file:active _File" \
1636 "open_dialog_cancel:clicked"
1638 "save_as_dialog:set_current_name /somewhere/crazy_idea\n file:force\n save_as_dialog_invoke:force\n save_as_dialog_ok:force" \
1639 "file:active _File" \
1640 "save_as_dialog_ok:clicked" \
1641 "save_as_dialog:file /somewhere/crazy_idea" \
1642 "save_as_dialog:folder"
1644 "nonexistent_invoke:force" \
1645 "nonexistent_invoke:active nonexistent"
1646 check
1 "Press the \"button\" which should now be renamed \"OK\"" \
1647 "button1:set_label OK" \
1649 check
1 "Press the \"togglebutton\" which should now be renamed \"on/off\"" \
1650 "togglebutton1:set_label on/off" \
1653 "togglebutton1:force" \
1655 check
1 "Press the \"checkbutton\" which should now be renamed \"REGISTER\"" \
1656 "checkbutton1:set_label REGISTER" \
1659 "checkbutton1:force" \
1661 check
2 "Press the \"radiobutton\" which should now be renamed \"RADIO\"" \
1662 "radiobutton2:set_label RADIO" \
1666 "radiobutton1:force" \
1669 check
1 "Click the widget whose label font is now Bold Italic 20" \
1670 "switch1:style font:Bold Italic 20" \
1672 check
1 "Click the widget whose label has turned red" \
1673 "switch1:style color:red" \
1675 check
1 "Click the widget whose background has turned yellow" \
1676 "checkbutton1:style background-color:yellow" \
1678 check
1 "Press \"OK\" if font and colors changed in previous steps are back to normal\n switch1:style" \
1679 "checkbutton1:style" \
1684 check
1 "Press \"OK\" if the \"lorem ipsum dolor ...\" text inside \"frame1\" now reads \"LABEL\"" \
1685 "label1:set_text LABEL" \
1687 check
1 "Press \"OK\" if the label of the frame around \"LABEL\" now reads \"LOREM IPSUM\"" \
1688 "frame1:set_label LOREM IPSUM" \
1690 check
1 "Press \"OK\" if the green dot has turned red" \
1691 "image1:set_from_icon_name gtk-no" \
1693 check
1 "Press \"OK\" if the red dot has turned into a green \"Q\"" \
1694 "image1:set_from_file q.png" \
1696 check
1 "Select \"FIRST\" from the combobox" \
1697 "comboboxtext1:prepend_text FIRST" \
1698 "comboboxtext1_entry:text FIRST"
1699 check
1 "Select \"LAST\" from the combobox" \
1700 "comboboxtext1:append_text LAST" \
1701 "comboboxtext1_entry:text LAST"
1702 check
1 "Select \"AVERAGE\" from the combobox" \
1703 "comboboxtext1:insert_text 3 AVERAGE" \
1704 "comboboxtext1_entry:text AVERAGE"
1705 check
1 "Select the second entry from the combobox" \
1706 "comboboxtext1:remove 0" \
1707 "comboboxtext1_entry:text def"
1708 check
2 "Click the \"+\" of the spinbutton" \
1710 "spinbutton1:text 33.00" \
1711 "spinbutton1:text 34.00"
1712 check
1 "Click the \"+\" of the spinbutton again" \
1714 "spinbutton1:text 35.00"
1715 check
1 "Click the \"+\" of the spinbutton once again" \
1717 "spinbutton1:text 36.00"
1719 "spinbutton1:force" \
1720 "spinbutton1:text 36.00"
1721 check
1 "Using the file chooser button (now labelled \"etc\"), select \"File System\" (= \"/\")" \
1722 "filechooserbutton1:set_filename /etc/" \
1723 "filechooserbutton1:file /"
1725 "filechooserbutton1:force" \
1726 "filechooserbutton1:file /"
1727 check
1 "Click \"Select\"\n fontbutton1:set_font_name Sans Bold 40" \
1728 "fontbutton1:force" \
1729 "fontbutton1:font Sans Bold 40"
1730 check
1 "Click \"Select\" (1)\n colorbutton1:set_color yellow" \
1731 "colorbutton1:force" \
1732 "colorbutton1:color rgb(255,255,0)"
1733 check
1 "Click \"Select\" (2)\n colorbutton1:set_color rgb(0,255,0)" \
1734 "colorbutton1:force" \
1735 "colorbutton1:color rgb(0,255,0)"
1736 check
1 "Click \"Select\" (3)\n colorbutton1:set_color #00f" \
1737 "colorbutton1:force" \
1738 "colorbutton1:color rgb(0,0,255)"
1739 check
1 "Click \"Select\" (4)\n colorbutton1:set_color #ffff00000000" \
1740 "colorbutton1:force" \
1741 "colorbutton1:color rgb(255,0,0)"
1742 check
1 "Click \"Select\" (5)\n colorbutton1:set_color rgba(0,255,0,.5)" \
1743 "colorbutton1:force" \
1744 "colorbutton1:color rgba(0,255,0,0.5)"
1745 check
1 "Close the dialog by hitting Escape" \
1746 "printdialog:print nonexistent.ps" \
1747 "printdialog:closed"
1748 check
1 "Press \"OK\" if both 1752-03-13 and 1752-03-14 are marked on the calendar" \
1749 "calendar1:mark_day 13\n calendar1:mark_day 14" \
1751 check
1 "Press \"OK\" if 1752-03-13 and 1752-03-14 are no longer marked on the calendar" \
1752 "calendar1:clear_marks" \
1754 check
3 "Hover over the calendar and do what the tooltip says" \
1755 "calendar1:set_tooltip_text Double-click on 1752-03-13" \
1756 "calendar1:clicked 1752-03-13" \
1757 "calendar1:clicked 1752-03-13" \
1758 "calendar1:doubleclicked 1752-03-13"
1760 "calendar1:set_tooltip_text"
1763 "calendar1:clicked 1752-03-13"
1766 "drawingarea1:rectangle 1 0 0 150 150\n drawingarea1:fill 1"
1768 "drawingarea1:remove 1\n drawingarea1:remove 2\n drawingarea1:remove 3\n drawingarea1:remove 4"
1770 "drawingarea1:rectangle 1 0 0 150 150\n drawingarea1:fill 1"
1772 "drawingarea1:arc 1 80 80 60 30 60\n drawingarea1:set_source_rgba 1 red\n drawingarea1:stroke_preserve 1\n drawingarea1:line_to 1 80 80\n drawingarea1:fill 1"
1774 "drawingarea1:arc_negative 1 80 80 70 30 60\n drawingarea1:set_source_rgba 1 green\n drawingarea1:stroke_preserve 1\n drawingarea1:rel_line_to 1 -50 -50\n drawingarea1:stroke 1"
1776 "drawingarea1:curve_to 1 30 30 90 120 120 30\n drawingarea1:set_source_rgba 1 blue\n drawingarea1:stroke 1"
1778 "drawingarea1:move_to 1 160 160\n drawingarea1:rel_curve_to 1 30 30 90 120 120 30\n drawingarea1:set_source_rgba 1 orange\n drawingarea1:stroke_preserve 1"
1780 "drawingarea1:move_to 1 0 0\n drawingarea1:rel_move_to 1 0 155\n drawingarea1:rel_line_to 1 300 0\n drawingarea1:set_dash 1 10\n drawingarea1:stroke 1"
1782 "drawingarea1:move_to 1 0 160\n drawingarea1:rel_line_to 1 300 0\n drawingarea1:set_dash 1 20 5\n drawingarea1:stroke 1"
1784 "drawingarea1:move_to 1 0 165\n drawingarea1:rel_line_to 1 300 0\n drawingarea1:set_dash 1 5 20\n drawingarea1:stroke 1"
1786 "drawingarea1:move_to 1 0 170\n drawingarea1:rel_line_to 1 300 0\n drawingarea1:set_dash 1 3 3 3 3 3 15\n drawingarea1:stroke 1"
1788 "drawingarea1:set_dash 1"
1790 "drawingarea1:set_source_rgba 1 brown\n drawingarea1:set_line_width 1 15"
1791 check
1 "Press \"OK\" if the brown shape is rounded" \
1792 "drawingarea1:set_line_join 2 round\n drawingarea1:set_line_cap 2 round\n drawingarea1:move_to 1 160 20\n drawingarea1:rel_line_to 1 20 0\n drawingarea1:rel_line_to 1 0 20\n drawingarea1:stroke 1" \
1794 check
1 "Press \"OK\" if the second brown shape is shorter and bevelled" \
1795 "drawingarea1:set_line_join 3 bevel\n drawingarea1:set_line_cap 3 butt\n drawingarea1:move_to 1 160 70\n drawingarea1:rel_line_to 1 20 0\n drawingarea1:rel_line_to 1 0 20\n drawingarea1:stroke 1" \
1797 check
1 "Press \"OK\" if the third brown shape is square" \
1798 "drawingarea1:set_line_join 3 miter\n drawingarea1:set_line_cap 3 square\n drawingarea1:move_to 1 160 120\n drawingarea1:rel_line_to 1 20 0\n drawingarea1:rel_line_to 1 0 20\n drawingarea1:stroke 1" \
1800 check
1 "Press \"OK\" if the first brown shape is no longer rounded" \
1801 "drawingarea1:remove 2" \
1803 check
1 "Press \"OK\" if all three brown shapes look the same" \
1804 "drawingarea1:remove 3" \
1807 "drawingarea1:move_to 5 50 50\n drawingarea1:line_to 5 200 10\n drawingarea1:line_to 5 150 200\n drawingarea1:close_path 1\n drawingarea1:set_source_rgba 5 rgba(0,255,0,.2)\n drawingarea1:fill_preserve 1"
1809 "drawingarea1:move_to 5 10 50\n drawingarea1:set_source_rgba 5 cyan\n drawingarea1:set_font_size 5 30\n drawingarea1:show_text 5 Xyz 789\n drawingarea1:set_font_size 5 10\n drawingarea1:show_text 5 Abc 123"
1811 "drawingarea1:move_to 5 10 75\n drawingarea1:set_source_rgba 5 red\n drawingarea1:set_font_face 5 italic bold Courier\n drawingarea1:set_font_size 5 30\n drawingarea1:show_text 5 Xyz 789\n drawingarea1:set_font_size 5 10\n drawingarea1:show_text 5 Abc 123"
1813 "drawingarea1:remove 1\n drawingarea1:remove 2\n drawingarea1:remove 3\n drawingarea1:remove 4"
1816 "drawingarea2:rectangle 1 0 0 150 150\n drawingarea2:fill 1"
1818 "drawingarea2:arc 1 80 80 60 30 60\n drawingarea2:set_source_rgba 1 red\n drawingarea2:stroke_preserve 1\n drawingarea2:line_to 1 80 80\n drawingarea2:fill 1"
1820 "drawingarea2:arc_negative 1 80 80 70 30 60\n drawingarea2:set_source_rgba 1 green\n drawingarea2:stroke_preserve 1\n drawingarea2:rel_line_to 1 -50 -50\n drawingarea2:stroke 1"
1822 "drawingarea2:curve_to 1 30 30 90 120 120 30\n drawingarea2:set_source_rgba 1 blue\n drawingarea2:stroke 1"
1824 "drawingarea2:move_to 1 160 160\n drawingarea2:rel_curve_to 1 30 30 90 120 120 30\n drawingarea2:set_source_rgba 1 orange\n drawingarea2:stroke_preserve 1"
1826 "drawingarea2:move_to 1 0 0\n drawingarea2:rel_move_to 1 0 155\n drawingarea2:rel_line_to 1 300 0\n drawingarea2:set_dash 1 10\n drawingarea2:stroke 1"
1828 "drawingarea2:move_to 1 0 160\n drawingarea2:rel_line_to 1 300 0\n drawingarea2:set_dash 1 20 5\n drawingarea2:stroke 1"
1830 "drawingarea2:move_to 1 0 165\n drawingarea2:rel_line_to 1 300 0\n drawingarea2:set_dash 1 5 20\n drawingarea2:stroke 1"
1832 "drawingarea2:move_to 1 0 170\n drawingarea2:rel_line_to 1 300 0\n drawingarea2:set_dash 1 3 3 3 3 3 15\n drawingarea2:stroke 1"
1834 "drawingarea2:set_dash 1"
1836 "drawingarea2:set_source_rgba 1 brown\n drawingarea2:set_line_width 1 15"
1838 "drawingarea2:set_line_cap 2 round\n drawingarea2:move_to 1 160 20\n drawingarea2:rel_line_to 1 20 0\n drawingarea2:rel_line_to 1 0 20\n drawingarea2:stroke 1"
1840 "drawingarea2:set_line_join 3 bevel\n drawingarea2:set_line_cap 3 butt\n drawingarea2:move_to 1 160 70\n drawingarea2:rel_line_to 1 20 0\n drawingarea2:rel_line_to 1 0 20\n drawingarea2:stroke 1"
1842 "drawingarea2:set_line_join 3 miter\n drawingarea2:set_line_cap 3 square\n drawingarea2:move_to 1 160 120\n drawingarea2:rel_line_to 1 20 0\n drawingarea2:rel_line_to 1 0 20\n drawingarea2:stroke 1"
1844 "drawingarea2:remove 2"
1846 "drawingarea2:remove 3"
1849 "drawingarea1:set_source_rgba 6 red\n drawingarea1:set_font_size 6 20"
1851 "drawingarea1:move_to 6 100 100\n drawingarea1:rel_move_for 6 c CENTER\n drawingarea1:show_text 6 CENTER"
1853 "drawingarea1:set_source_rgba 6 blue\n drawingarea1:set_font_size 6 20"
1855 "drawingarea1:move_to 6 100 100\n drawingarea1:rel_move_for 6 nw NORTHWEST\n drawingarea1:show_text 6 NORTHWEST"
1857 "drawingarea1:move_to 6 100 100\n drawingarea1:rel_move_for 6 ne NORTHEAST\n drawingarea1:show_text 6 NORTHEAST"
1859 "drawingarea1:move_to 6 100 100\n drawingarea1:rel_move_for 6 se SOUTHEAST\n drawingarea1:show_text 6 SOUTHEAST"
1861 "drawingarea1:move_to 6 100 100\n drawingarea1:rel_move_for 6 sw SOUTHWEST\n drawingarea1:show_text 6 SOUTHWEST"
1863 "drawingarea1:set_source_rgba 6 magenta\n drawingarea1:set_font_size 6 20"
1865 "drawingarea1:move_to 6 100 140\n drawingarea1:rel_move_for 6 s SOUTH\n drawingarea1:show_text 6 SOUTH"
1867 "drawingarea1:move_to 6 100 140\n drawingarea1:rel_move_for 6 n NORTH\n drawingarea1:show_text 6 NORTH"
1869 "drawingarea1:set_source_rgba 6 green\n drawingarea1:set_font_size 6 20"
1871 "drawingarea1:move_to 6 100 140\n drawingarea1:rel_move_for 6 e EAST\n drawingarea1:show_text 6 EAST"
1873 "drawingarea1:move_to 6 100 140\n drawingarea1:rel_move_for 6 w WEST\n drawingarea1:show_text 6 WEST"
1875 check
2 "Hit Backspace, Enter" \
1876 "eventbox1:grab_focus" \
1877 "eventbox1:key_press BackSpace" \
1878 "eventbox1:key_press Return"
1879 check
6 "Inside the DrawingArea, left-click, middle-click, right-click (Don't move the mouse while clicking)" \
1881 "eventbox1:button_press 1" \
1882 "eventbox1:button_release 1" \
1883 "eventbox1:button_press 2" \
1884 "eventbox1:button_release 2" \
1885 "eventbox1:button_press 3" \
1886 "eventbox1:button_release 3"
1887 check
3 "Inside the DrawingArea and all within one second, hold the left button down, move around a bit, and release it again" \
1889 "eventbox1:button_press 1" \
1890 "eventbox1:motion" \
1893 check
1 "Hit Space" \
1894 "button1:grab_focus" \
1897 check
1 "Press the biggest button if there is a spinning spinner" \
1898 "spinner1:start\n no_button:set_size_request 400 400" \
1900 check
1 "Press \"OK\" if the spinner has stopped" \
1903 check
1 "Press \"OK\" if the \"No\" button is back to normal size" \
1904 "no_button:set_size_request" \
1908 "notebook1:set_current_page 3"
1909 check
1 "Click into page 4 (vscroll)" \
1910 "scrolledwindow8:vscroll 4500" \
1912 check
1 "Click into page 4 (hscroll)" \
1913 "scrolledwindow8:hscroll 4500" \
1915 check
1 "Click into page 4 (hscroll_to_range, vscroll_to_range)" \
1916 "scrolledwindow8:hscroll_to_range 1600 2900\n scrolledwindow8:vscroll_to_range 1600 2900" \
1919 check
1 "Press \"OK\" if we are fullscreen now" \
1922 check
1 "Press \"OK\" if we are back to default size" \
1923 "main:unfullscreen" \
1925 check
1 "Press \"OK\" if window is 1000x1000 now" \
1926 "main:resize 1000 1000" \
1928 check
1 "Press \"OK\" if we are back to default size again" \
1931 check
1 "Press \"OK\" if our NE corner is at 400, 200 now" \
1932 "main:move 400 200" \
1935 check
1 "Press \"OK\" if there is now a \"Disconnect\" button" \
1936 "button2:set_visible 1\n button2:set_sensitive 0" \
1938 check
1 "Press \"Disconnect\"" \
1939 "button2:set_sensitive 1" \
1941 check
1 "Press \"OK\" if the window title is now \"ALMOST DONE\"" \
1942 "main:set_title ALMOST DONE" \
1945 check
1 "Press \"BIG BUTTON\" inside the window titled \"PRESS ME\"" \
1946 "dialog1:set_title PRESS ME\n dialog1:set_visible 1\n dialog1:resize 800 800\n dialog1:move 50 50" \
1949 "button3:set_label PRESS THIS GIANT BUTTON NOW\n dialog1:fullscreen" \
1952 "button3:set_label Hit Escape to close this window\n button3:set_sensitive 0" \
1955 "dialog1:set_visible 0"
1957 check
1 "Press \"OK\" if the progress bar shows 90%" \
1958 "progressbar1:set_fraction .9\n progressbar1:set_text" \
1960 check
1 "Press \"OK\" if the progress bar text reads \"The End\"" \
1961 "progressbar1:set_text The End" \
1964 "statusbar1:push_id Id100 Press \"No\"\n statusbar1:push_id ABC nonsense #1\n statusbar1:push_id DEF nonsense #2.1\n statusbar1:push_id DEF nonsense 2.2\n statusbar1:pop\n statusbar1:pop\n statusbar1:pop_id 1\n statusbar1:pop_id ABC\n statusbar1:pop_id DEF\n statusbar1:pop_id DEF\n statusbar1:push_id GHI nonsense 3.1\n statusbar1:push_id GHI nonsense 3.2\n statusbar1:remove_all_id GHI" \
1967 echo "_:main_quit" >$FIN
1973 check_cmd
"head -n 2 $LOG | tail -n 1 | grep -q '##### (New Pipeglade session) #####'"
1974 check_cmd
"tail -n 4 $LOG | head -n 1 | grep -q '### (Idle) ###'"
1975 check_cmd
"tail -n 3 $LOG | head -n 1 | grep -q 'statusbar1:remove_all_id GHI'"
1976 check_cmd
"tail -n 2 $LOG | head -n 1 | grep -q '### (Idle) ###'"
1977 check_cmd
"tail -n 1 $LOG | grep '_:main_quit'"
1980 echo "PASSED: $OKS/$TESTS; FAILED: $FAILS/$TESTS"