summaryrefslogtreecommitdiff
path: root/itcl/iwidgets3.0.0/tests/buttonbox.test
diff options
context:
space:
mode:
Diffstat (limited to 'itcl/iwidgets3.0.0/tests/buttonbox.test')
-rw-r--r--itcl/iwidgets3.0.0/tests/buttonbox.test183
1 files changed, 183 insertions, 0 deletions
diff --git a/itcl/iwidgets3.0.0/tests/buttonbox.test b/itcl/iwidgets3.0.0/tests/buttonbox.test
new file mode 100644
index 00000000000..ece1f3b41e5
--- /dev/null
+++ b/itcl/iwidgets3.0.0/tests/buttonbox.test
@@ -0,0 +1,183 @@
+# This file is a Tcl script to test out [incr Widgets] Buttonbox class.
+# It is organized in the standard fashion for Tcl tests with the following
+# notation for test case labels:
+#
+# 1.x - Construction/Destruction tests
+# 2.x - Configuration option tests
+# 3.x - Method tests
+#
+# Copyright (c) 1995 DSC Technologies Corporation
+#
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# @(#) $Id$
+
+package require Iwidgets 3.0
+
+if {[string compare test [info procs test]] == 1} {
+ source defs
+}
+
+wm geometry . {}
+raise .
+
+set c 1
+set o 1
+set m 1
+
+#
+# Initial construction test
+#
+test Buttonbox-1.$c {Buttonbox construction} {
+ iwidgets::Buttonbox .bb
+ pack .bb
+ update
+} {}
+
+incr c
+
+#
+# Button additions
+#
+test Buttonbox-1.$c {Buttonbox construction} {
+ .bb add Yes -text Yes
+ update
+ .bb add No -text No
+ update
+ .bb default Yes
+ update
+} {}
+
+incr c
+
+#
+# Option tests which are successful.
+#
+test Buttonbox-2.$o {configuration option} {
+ llength [.bb configure]
+} {14}
+
+incr o
+
+foreach test {
+ {-activebackground #ececec #ececec}
+ {-activeforeground Black Black}
+ {-orient vertical vertical}
+ {-background #d9d9d9 #d9d9d9}
+ {-cursor gumby gumby}
+ {-disabledforeground #a3a3a3 #a3a3a3}
+ {-foreground Black Black}
+ {-highlightcolor Black Black}
+ {-highlightthickness 2 2}
+ {-orient horizontal horizontal}
+ {-padx 10 10}
+ {-pady 10 10}} {
+ set option [lindex $test 0]
+ test Buttonbox-2.$o "configuration options, $option" {
+ .bb configure $option [lindex $test 1]
+ lindex [.bb configure $option] 4
+ } [lindex $test 2]
+ update
+ incr o
+}
+
+#
+# Option tests which fail and produce errors.
+#
+foreach test {
+ {-orient bogus {bad orientation option "bogus", should be either horizontal or vertical}}} {
+ set option [lindex $test 0]
+ test Buttonbox-2.$o "configuration options, $option" {
+ list [catch {.bb configure $option [lindex $test 1]} msg] $msg
+ } [list 1 [lindex $test 2]]
+ incr o
+}
+
+#
+# Method tests which are successful.
+#
+foreach test {
+ {{.bb index 0} {0}}
+ {{.bb index end} {1}}
+ {{.bb index default} {0}}
+ {{.bb index No} {1}}
+ {{.bb index Y*} {0}}
+ {{.bb add Maybe -text Maybe} {}}
+ {{.bb insert 0 Never -text Never} {}}
+ {{.bb default Never} {}}
+ {{.bb hide Yes} {}}
+ {{.bb show Yes } {}}
+ {{.bb hide end} {}}
+ {{.bb show end} {}}
+ {{.bb hide 1} {}}
+ {{.bb show 1} {}}
+ {{.bb hide N*} {}}
+ {{.bb show N*} {}}
+ {{.bb invoke Yes} {}}
+ {{.bb invoke} {}}
+ {{.bb invoke default} {}}
+ {{.bb delete Maybe} {}}
+ {{.bb buttonconfigure Yes -text YES} {}}
+ {{.bb buttonconfigure N* -defaultring no} {}}
+ {{.bb buttonconfigure end -defaultring true} {}}} {
+ set method [lindex [lindex $test 0] 1]
+ test Buttonbox-3.$m "object methods, $method" {
+ list [catch {eval [lindex $test 0]} msg] $msg
+ } [list 0 [lindex $test 1]]
+ update
+ incr m
+}
+
+#
+# Method tests which fail and produce errors
+#
+foreach test {
+ {{.bb index 12} {Buttonbox index "12" is out of range}}
+ {{.bb index bogus} {bad Buttonbox index "bogus": must be number, end, default, or pattern}}} {
+ set method [lindex [lindex $test 0] 1]
+ test Buttonbox-3.$m "object methods, $method" {
+ list [catch {eval [lindex $test 0]} msg] $msg
+ } [list 1 [lindex $test 1]]
+ incr m
+}
+
+#
+# Conclusion of constrcution/destruction tests
+#
+test Buttonbox-1.$c {Buttonbox destruction} {
+ destroy .bb
+ update
+} {}
+
+incr c
+
+test Buttonbox-1.$c {Buttonbox construction} {
+ iwidgets::buttonbox .bb
+ pack .bb
+ update
+ .bb add Hello -text Hello
+ update
+ .bb insert end GoodBye -text GoodBye
+ update
+ .bb default Hello
+ update
+ .bb default GoodBye
+ update
+} {}
+
+incr c
+
+test Buttonbox-1.$c {Buttonbox destruction} {
+ destroy .bb
+ update
+} {}
+
+incr c
+
+test Buttonbox-1.$c {Buttonbox destruction} {
+ iwidgets::buttonbox .bb
+ pack .bb
+ destroy .bb
+ update
+} {}