summaryrefslogtreecommitdiff
path: root/itcl/iwidgets3.0.0/tests/optionmenu.test
diff options
context:
space:
mode:
Diffstat (limited to 'itcl/iwidgets3.0.0/tests/optionmenu.test')
-rw-r--r--itcl/iwidgets3.0.0/tests/optionmenu.test176
1 files changed, 176 insertions, 0 deletions
diff --git a/itcl/iwidgets3.0.0/tests/optionmenu.test b/itcl/iwidgets3.0.0/tests/optionmenu.test
new file mode 100644
index 00000000000..72d00d55789
--- /dev/null
+++ b/itcl/iwidgets3.0.0/tests/optionmenu.test
@@ -0,0 +1,176 @@
+# This file is a Tcl script to test out [incr Widgets] Optionmenu 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 Optionmenu-1.$c {Optionmenu construction} {
+ iwidgets::Optionmenu .om
+ pack .om -padx 10 -pady 10 -fill both -expand yes
+ update
+} {}
+
+incr c
+
+#
+# Option tests which are successful.
+#
+test Optionmenu-2.$o {configuration option} {
+ llength [.om configure]
+} {26}
+
+incr o
+
+foreach test {
+ {-activebackground #ececec #ececec}
+ {-activeborderwidth 2 2}
+ {-activeforeground Black Black}
+ {-labeltext Optionmenu Optionmenu}
+ {-background #d9d9d9 #d9d9d9}
+ {-borderwidth 2 2}
+ {-labelpos w w}
+ {-clicktime 100 100}
+ {-command {.om configure -background Red} {.om configure -background Red}}
+ {-cursor gumby gumby}
+ {-labelpos nw nw}
+ {-cyclicon false false}
+ {-cyclicon true true}
+ {-font -Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-* -Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-*}
+ {-labelpos n n}
+ {-foreground Black Black}
+ {-labelpos ne ne}
+ {-labelpos se se}
+ {-labelfont -Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-* -Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-*}
+ {-labelmargin 5 5}
+ {-labelpos e e}
+ {-state disabled disabled}
+ {-labelpos s s}
+ {-state normal normal}
+ {-labelpos sw sw}
+ {-labelpos w w}
+ {-width 140 140}} {
+ set option [lindex $test 0]
+ test Optionmenu-2.$o "configuration options, $option" {
+ .om configure $option [lindex $test 1]
+ lindex [.om configure $option] 4
+ } [lindex $test 2]
+ update
+ incr o
+}
+
+#
+# Option tests which fail and produce errors.
+#
+foreach test {
+ {-state bogus {bad state option "bogus": should be disabled or normal}}} {
+ set option [lindex $test 0]
+ test Optionmenu-2.$o "configuration options, $option" {
+ list [catch {.om configure $option [lindex $test 1]} msg] $msg
+ } [list 1 [lindex $test 2]]
+ incr o
+}
+
+#
+# Method tests which are successful.
+#
+foreach test {
+ {{.om index 0} 0}
+ {{.om insert end Unix VMS Linux OS/2 {Windows NT} DOS} {}}
+ {{.om index end} 6}
+ {{.om index select} 0}
+ {{.om index OS/2} 3}
+ {{.om delete 0 1} {}}
+ {{.om delete OS/2} {}}
+ {{.om disable 0} {}}
+ {{.om enable 0} {}}
+ {{.om disable DOS} {}}
+ {{.om enable DOS} {}}
+ {{.om select Linux} {}}
+ {{.om get} Linux}
+ {{.om get 1} {Windows NT}}
+ {{.om get 0 end} {Linux {Windows NT} DOS}}
+ {{.om insert 0 Unix VMS} {}}
+ {{.om select 3} {}}
+ {{.om select end} {}}
+ {{.om sort ascending} {}}
+ {{.om sort descending} {}}
+ {{.om sort increasing} {}}
+ {{.om sort decreasing} {}}} {
+ set method [lindex [lindex $test 0] 1]
+ test Optionmenu-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 {
+ {{.om index bogus} {bad Optionmenu index "bogus"}}
+ {{.om sort bogus} {bad sort argument "bogus": should be ascending, descending, increasing, or decreasing}}} {
+ set method [lindex [lindex $test 0] 1]
+ test Optionmenu-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 Optionmenu-1.$c {Optionmenu destruction} {
+ destroy .om
+ update
+} {}
+
+incr c
+
+test Optionmenu-1.$c {Optionmenu construction} {
+ iwidgets::optionmenu .om -labeltext "Label" \
+ -labelpos n
+ pack .om -padx 10 -pady 10 -fill both -expand yes
+ update
+} {}
+
+incr c
+
+test Optionmenu-1.$c {Optionmenu destruction} {
+ destroy .om
+ update
+} {}
+
+incr c
+
+test Optionmenu-1.$c {Optionmenu destruction} {
+ iwidgets::optionmenu .om
+ pack .om
+ destroy .om
+ update
+} {}