summaryrefslogtreecommitdiff
path: root/itcl/iwidgets/tests/canvasprintbox.test
diff options
context:
space:
mode:
Diffstat (limited to 'itcl/iwidgets/tests/canvasprintbox.test')
-rw-r--r--itcl/iwidgets/tests/canvasprintbox.test162
1 files changed, 162 insertions, 0 deletions
diff --git a/itcl/iwidgets/tests/canvasprintbox.test b/itcl/iwidgets/tests/canvasprintbox.test
new file mode 100644
index 00000000000..8d5e54d7219
--- /dev/null
+++ b/itcl/iwidgets/tests/canvasprintbox.test
@@ -0,0 +1,162 @@
+# This file is a Tcl script to test out [incr Widgets] Canvasprintbox 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 Tako Schotanus
+#
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+
+package require tcltest
+namespace import -force ::tcltest::*
+
+if [catch {package require Iwidgets 4.0}] {
+ # Let's try modifying the auto_path. Note that the IWIDGETS_LIBRARY
+ # env var is initialized in the Makefile when doing a 'make test'.
+ # If sourcing this file independently, this variable must be set manually.
+ if ![info exists env(IWIDGETS_LIBRARY)] {
+ error "Unable to locate Iwidgets package. Set your IWIDGETS_LIBRARY\
+ environment\nvariable to the directory that contains iwidgets.tcl"
+ }
+ lappend auto_path $env(IWIDGETS_LIBRARY)
+ package require Iwidgets 4.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 Canvasprintbox-1.$c {Canvasprintbox construction} {
+ iwidgets::Canvasprintbox .cpb
+ pack .cpb -padx 10 -pady 10 -fill both -expand yes
+ update
+} {}
+
+incr c
+
+#
+# Option tests which are successful.
+#
+test Canvasprintbox-2.$o {configuration option} {
+ llength [.cpb configure]
+} {34}
+
+incr o
+
+foreach test {
+ {-background #d9d9d9 #d9d9d9}
+ {-cursor gumby gumby}
+ {-hpagecnt 2 2}
+ {-orient portrait portrait}
+ {-orient landscape landscape}
+ {-output file file}
+ {-filename test.ps test.ps}
+ {-output printer printer}
+ {-pagesize a5 a5}
+ {-pagesize a4 a4}
+ {-pagesize a3 a3}
+ {-pagesize a2 a2}
+ {-pagesize a1 a1}
+ {-pagesize legal legal}
+ {-pagesize letter letter}
+ {-posterize 1 1}
+ {-posterize 0 0}
+ {-printcmd test test}
+ {-printcmd lpr lpr}
+ {-printregion {10 10 100 100} {10 10 100 100}}
+ {-printregion {} {}}
+ {-stretch 1 1}
+ {-stretch 0 0}
+ {-vpagecnt 2 2}} {
+ set option [lindex $test 0]
+ test Canvasprintbox-2.$o "configuration options, $option" {
+ .cpb configure $option [lindex $test 1]
+ lindex [.cpb configure $option] 4
+ } [lindex $test 2]
+ update
+ incr o
+}
+
+#
+# Option tests which fail and produce errors.
+#
+#foreach test {
+# {-printregion bogus {bad option "printregion": should contain 4 coordinates}}
+# {-output bogus {bad option "output": should be file or printer}}
+# {-orient bogus {bad option "orient": should be portrait or landscape}}
+# {-stretch bogus {bad option "stretch": should be a boolean}}
+# {-posterize bogus {bad option "posterize": should be a boolean}}
+# } {
+# set option [lindex $test 0]
+# test Canvasprintbox-2.$o "configuration options, $option" {
+# list [catch {.cpb configure $option [lindex $test 1]} msg] $msg
+# } [list 1 [lindex $test 2]]
+# incr o
+#}
+
+#
+# Method tests which are successful.
+#
+canvas .c
+foreach test {
+ {{.cpb getoutput} {lpr}}
+ {{.cpb refresh} {}}
+ {{.cpb setcanvas .c} {}}} {
+ set method [lindex [lindex $test 0] 1]
+ test Canvasprintbox-3.$m "object methods, $method" {
+ list [catch {eval [lindex $test 0]} msg] $msg
+ } [list 0 [lindex $test 1]]
+ update
+ incr m
+}
+
+#
+# Conclusion of constrcution/destruction tests
+#
+test Canvasprintbox-1.$c {Canvasprintbox destruction} {
+ destroy .c
+ destroy .cpb
+ update
+} {}
+
+incr c
+
+test Canvasprintbox-1.$c {Canvasprintbox construction} {
+ iwidgets::canvasprintbox .cpb
+ pack .cpb -padx 10 -pady 10 -fill both -expand yes
+ update
+} {}
+
+incr c
+
+test Canvasprintbox-1.$c {Canvasprintbox destruction} {
+ destroy .cpb
+ update
+} {}
+
+incr c
+
+test Canvasprintbox-1.$c {Canvasprintbox destruction} {
+ iwidgets::canvasprintbox .cpb
+ pack .cpb
+ destroy .cpb
+ update
+} {}
+
+::tcltest::cleanupTests
+exit