summaryrefslogtreecommitdiff
path: root/iwidgets/tests/usual.test
diff options
context:
space:
mode:
Diffstat (limited to 'iwidgets/tests/usual.test')
-rw-r--r--iwidgets/tests/usual.test75
1 files changed, 75 insertions, 0 deletions
diff --git a/iwidgets/tests/usual.test b/iwidgets/tests/usual.test
new file mode 100644
index 00000000000..f535002aa69
--- /dev/null
+++ b/iwidgets/tests/usual.test
@@ -0,0 +1,75 @@
+# This file is a Tcl script to test out all of the "usual" options
+# for all of the [incr Widgets]. It looks for other tests in this
+# directory, and tries to create a mega-widget with each of these
+# as a component. If there are any problems with "usual" definitions,
+# they will be found here.
+#
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# @(#) $Id$
+
+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 .
+
+# ----------------------------------------------------------------------
+# Create a new mega-widget class that we can use to add other
+# classes as components.
+# ----------------------------------------------------------------------
+test usual-1.1 {create a mega-widget that we can add components to} {
+ itcl::class TestUsual {
+ inherit itk::Widget
+ method do {cmd} {
+ eval $cmd
+ }
+ }
+ TestUsual .testUsual
+} {.testUsual}
+
+# ----------------------------------------------------------------------
+# Now, scan through all of the tests in this directory and look
+# for mega-widgets. Add each mega-widget to the test class.
+# ----------------------------------------------------------------------
+set unique 0
+foreach file [glob *.test] {
+ set widget [file rootname [file tail $file]]
+ if {$widget == "extbutton"} {
+ if {$::tk_version < 8.4} {
+ # Skip it.
+ continue
+ }
+ }
+
+ if {$widget != "usual"} {
+ set name "c[incr unique]"
+ test usual-1.2.$name "verify \"usual\" options for $widget" {
+ .testUsual do [format {
+ itk_component add %s {
+ iwidgets::%s $itk_interior.%s
+ }
+ } $name $widget $name]
+ } $name
+ }
+}
+
+::tcltest::cleanupTests
+exit