summaryrefslogtreecommitdiff
path: root/itcl/iwidgets3.0.0/tests/dateentry.test
diff options
context:
space:
mode:
Diffstat (limited to 'itcl/iwidgets3.0.0/tests/dateentry.test')
-rw-r--r--itcl/iwidgets3.0.0/tests/dateentry.test183
1 files changed, 183 insertions, 0 deletions
diff --git a/itcl/iwidgets3.0.0/tests/dateentry.test b/itcl/iwidgets3.0.0/tests/dateentry.test
new file mode 100644
index 00000000000..d071a8eaf76
--- /dev/null
+++ b/itcl/iwidgets3.0.0/tests/dateentry.test
@@ -0,0 +1,183 @@
+# This file is a Tcl script to test out [incr Widgets] Dateentry 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 Dateentry-1.$c {Dateentry construction} {
+ iwidgets::Dateentry .de -labeltext "Date Field"
+ pack .de -padx 10 -pady 10 -fill both -expand yes
+ update
+} {}
+
+incr c
+
+#
+# Option tests which are successful.
+#
+test Dateentry-2.$o {configuration option} {
+ llength [.de configure]
+} {43}
+
+incr o
+
+foreach test {
+ {-background #d9d9d9 #d9d9d9}
+ {-buttonforeground green green}
+ {-borderwidth 4 4}
+ {-borderwidth 2 2}
+ {-command {.de configure -background red} {.de configure -background red}}
+ {-cursor gumby gumby}
+ {-exportselection 0 0}
+ {-foreground Green Green}
+ {-foreground Black Black}
+ {-highlightcolor Red Red}
+ {-highlightthickness 2 2}
+ {-insertbackground Yellow Yellow}
+ {-insertbackground Black Black}
+ {-iq low low}
+ {-iq average average}
+ {-iq high high}
+ {-justify right right}
+ {-justify center center}
+ {-justify left left}
+ {-labelmargin 5 5}
+ {-labelpos w w}
+ {-labelpos nw nw}
+ {-labelpos n n}
+ {-labelpos ne ne}
+ {-labelpos e e}
+ {-labelpos se se}
+ {-labelpos s s}
+ {-labelpos sw sw}
+ {-labeltext Label Label}
+ {-relief raised raised}
+ {-relief sunken sunken}
+ {-currentdatefont -*-helvetica-bold-r-normal--*-120-* -*-helvetica-bold-r-normal--*-120-*}
+ {-datefont -*-helvetica-medium-r-normal--*-120-* -*-helvetica-medium-r-normal--*-120-*}
+ {-dayfont -*-helvetica-medium-r-normal--*-120-* -*-helvetica-medium-r-normal--*-120-*}
+ {-days {M T W T F S S} {M T W T F S S}}
+ {-foreground black black}
+ {-height 300 300}
+ {-outline black black}
+ {-selectcolor blue blue}
+ {-selectthickness 2 2}
+ {-startday monday monday}
+ {-titlefont -*-helvetica-bold-r-normal--*-140-* -*-helvetica-bold-r-normal--*-140-*}
+ {-weekdaybackground mistyrose mistyrose}
+ {-weekendbackground white white}
+ {-width 350 350}
+ {-textbackground GhostWhite GhostWhite}
+ {-textbackground #d9d9d9 #d9d9d9}} {
+ set option [lindex $test 0]
+ test Dateentry-2.$o "configuration options, $option" {
+ .de configure $option [lindex $test 1]
+ lindex [.de configure $option] 4
+ } [lindex $test 2]
+ update
+ incr o
+}
+
+#
+# Option tests which fail and produce errors.
+#
+foreach test {
+ {-iq bogus {bad iq option "bogus": should be high, average or low}}
+ {-childsitepos bogus {bad childsite option "bogus": should be n, e, s, or w}}} {
+ set option [lindex $test 0]
+ test Dateentry-2.$o "configuration options, $option" {
+ list [catch {.de configure $option [lindex $test 1]} msg] $msg
+ } [list 1 [lindex $test 2]]
+ incr o
+}
+
+#
+# Method tests which are successful.
+#
+foreach test {
+ {{.de childsite} {.de.lwchildsite}}
+ {{.de show 03/03/1960} {}}
+ {{.de get} {03/03/1960}}
+ {{.de get -string} {03/03/1960}}
+ {{.de isvalid} {1}}
+ {{.de component date delete 0 end} {}}
+ {{.de component date insert end 03/32/1960} {}}
+ {{.de isvalid} {0}}
+ {{.de show 03/03/1960} {}}
+ {{.de show now} {}}} {
+ set method [lindex [lindex $test 0] 1]
+ test Dateentry-3.$m "object methods, $method" {
+ list [catch {eval [lindex $test 0]} msg] $msg
+ } [list 0 [lindex $test 1]]
+ update
+ incr m
+}
+
+test Dateentry-3.$m "object methods, clock clicks" {
+ set clicks [clock scan "06/08/1964"]
+ .de show $clicks
+ update
+ .de get
+} {06/08/1964}
+incr m
+
+#
+# Method tests which fail and produce errors
+#
+foreach test {
+ {{.de get bogus} {bad format option "bogus": should be -string or -clicks}}
+ {{.de show bogus} {bad date: "bogus", must be a valid date string, clock clicks value or the keyword now}}} {
+ set method [lindex [lindex $test 0] 1]
+ test Dateentry-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 Dateentry-1.$c {Dateentry destruction} {
+ destroy .de
+ update
+} {}
+
+incr c
+
+test Dateentry-1.$c {Dateentry construction} {
+ iwidgets::dateentry .de
+ pack .de -padx 10 -pady 10
+ update
+} {}
+
+incr c
+
+test Dateentry-1.$c {Dateentry destruction} {
+ destroy .de
+ update
+} {}