URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [insight/] [itcl/] [iwidgets3.0.0/] [tests/] [messagebox.test] - Rev 1765
Compare with Previous | Blame | View Log
# This file is a Tcl script to test out [incr Widgets] Messagebox 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: messagebox.test,v 1.1.1.1 2002-01-16 10:24:51 markom Exp $
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 Messagebox-1.$c {Messagebox construction} {
iwidgets::Messagebox .mb
pack .mb -padx 10 -pady 10 -fill both -expand yes
update
} {}
incr c
#
# Option tests which are successful.
#
test Messagebox-2.$o {configuration option} {
llength [.mb configure]
} {40}
incr o
foreach test {
{-activebackground #ececec #ececec}
{-activeforeground Black Black}
{-background #d9d9d9 #d9d9d9}
{-borderwidth 3 3}
{-cursor gumby gumby}
{-exportselection 0 0}
{-exportselection 1 1}
{-filename /tmp/foo /tmp/foo}
{-foreground Black Black}
{-height 0 0}
{-width 0 0}
{-width 550 550}
{-height 120 120}
{-highlightcolor Black Black}
{-highlightthickness 2 2}
{-labelmargin 5 5}
{-labeltext Label Label}
{-labelpos nw nw}
{-labelpos ne ne}
{-labelpos en en}
{-labelpos e e}
{-labelpos es es}
{-labelpos se se}
{-labelpos s s}
{-labelpos sw sw}
{-labelpos wn wn}
{-labelpos w w}
{-labelpos ws ws}
{-labelpos n n}
{-relief raised raised}
{-relief sunken sunken}
{-vscrollmode none none}
{-vscrollmode static static}
{-vscrollmode dynamic dynamic}
{-hscrollmode none none}
{-hscrollmode static static}
{-hscrollmode dynamic dynamic}
{-maxlines 1200 1200}
{-sbwidth 20 20}
{-savedir /tmp /tmp}
{-scrollmargin 5 5}
{-textbackground GhostWhite GhostWhite}} {
set option [lindex $test 0]
test Messagebox-2.$o "configuration options, $option" {
.mb configure $option [lindex $test 1]
lindex [.mb configure $option] 4
} [lindex $test 2]
update
incr o
}
#
# Option tests which fail and produce errors.
#
foreach test {
{-visibleitems bogus {bad visibleitems option "bogus": should be widthxheight}}
{-hscrollmode bogus {bad hscrollmode option "bogus": should be static, dynamic, or none}}
{-vscrollmode bogus {bad vscrollmode option "bogus": should be static, dynamic, or none}}} {
set option [lindex $test 0]
test Messagebox-2.$o "configuration options, $option" {
list [catch {.mb configure $option [lindex $test 1]} msg] $msg
} [list 1 [lindex $test 2]]
incr o
}
#
# Method tests which are successful.
#
foreach test {
{{.mb issue "Default test"} {}}
{{.mb type add ERROR -background red -foreground white -bell 1} {ERROR}}
{{.mb issue "ERROR test" ERROR} {}}
{{.mb type configure ERROR -font 7x13 -show 0} {}}
{{.mb issue "ERROR test" ERROR} {}}
{{.mb type cget ERROR -background} {red}}
{{.mb type remove ERROR} {}}
{{.mb clear} {}}} {
set method [lindex [lindex $test 0] 1]
test Messagebox-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 {
{{.mb type bogus bogus} {bad type operation: "bogus", should be add, remove, configure or cget}}
{{.mb issue foo bogus} {bad message type: "bogus", use the type command to create a new types}}} {
set method [lindex [lindex $test 0] 1]
test Messagebox-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 Messagebox-1.$c {Messagebox destruction} {
destroy .mb
update
} {}
incr c
test Messagebox-1.$c {Messagebox construction} {
iwidgets::messagebox .mb -hscrollmode dynamic -labeltext "Label" \
-labelpos n -labelmargin 5
pack .mb -padx 10 -pady 10 -fill both -expand yes
update
} {}
incr c
test Messagebox-1.$c {Messagebox destruction} {
destroy .mb
update
} {}
incr c
test Messagebox-1.$c {Messagebox destruction} {
iwidgets::messagebox .mb
pack .mb
destroy .mb
update
} {}