URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [insight/] [tk/] [tests/] [macEmbed.test] - Rev 1779
Go to most recent revision | Compare with Previous | Blame | View Log
# This file is a Tcl script to test out the procedures in the file
# tkMacEmbed.c. It is organized in the standard fashion for Tcl
# tests.
#
# Copyright (c) 1997 Sun Microsystems, Inc.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# RCS: @(#) $Id: macEmbed.test,v 1.1.1.1 2002-01-16 10:25:59 markom Exp $
if {$tcl_platform(platform) != "macintosh"} {
return
}
if {[info procs test] != "test"} {
source defs
}
eval destroy [winfo children .]
wm geometry . {}
raise .
test macEmbed-1.1 {TkpUseWindow procedure, bad window identifier} {
catch {destroy .t}
list [catch {toplevel .t -use xyz} msg] $msg
} {1 {expected integer but got "xyz"}}
test macEmbed-1.2 {TkpUseWindow procedure, bad window identifier} {
catch {destroy .t}
list [catch {toplevel .t -use 47} msg] $msg
} {1 {The window ID 47 does not correspond to a valid Tk Window.}}
if {[string compare testembed [info commands testembed]] != 0} {
puts "This application hasn't been compiled with the testembed command,"
puts "therefore I am skipping all of these tests."
return
}
test macEmbed-1.3 {TkpUseWindow procedure, creating Container records} {
eval destroy [winfo child .]
frame .f1 -container 1 -width 200 -height 50
frame .f2 -container 1 -width 200 -height 50
pack .f1 .f2
set w [winfo id .f1]
toplevel .t -use $w
list [testembed] [expr [lindex [lindex [testembed all] 1] 0] - $w]
} {{{XXX .f2 {} {}} {XXX .f1 XXX .t}} 0}
test macEmbed-1.4 {TkpUseWindow procedure, creating Container records} {
eval destroy [winfo child .]
frame .f1 -container 1 -width 200 -height 50
frame .f2 -container 1 -width 200 -height 50
pack .f1 .f2
set w1 [winfo id .f1]
set w2 [winfo id .f2]
toplevel .t1 -use $w1
toplevel .t2 -use $w2
testembed
} {{XXX .f2 XXX .t2} {XXX .f1 XXX .t1}}
# Can't think of any way to test the procedures TkpMakeWindow,
# TkpMakeContainer, or EmbedErrorProc.
test macEmbed-2.1 {EmbeddedEventProc procedure} {
foreach w [winfo child .] {
catch {destroy $w}
}
frame .f1 -container 1 -width 200 -height 50
pack .f1
set w1 [winfo id .f1]
toplevel .t1 -use $w1
testembed
destroy .t1
update
testembed
} {}
test macEmbed-2.2 {EmbeddedEventProc procedure} {
foreach w [winfo child .] {
catch {destroy $w}
}
frame .f1 -container 1 -width 200 -height 50
pack .f1
toplevel .t1 -use [winfo id .f1]
update
destroy .f1
testembed
} {}
test macEmbed-2.3 {EmbeddedEventProc procedure} {
foreach w [winfo child .] {
catch {destroy $w}
}
frame .f1 -container 1 -width 200 -height 50
pack .f1
toplevel .t1 -use [winfo id .f1]
update
destroy .t1
update
list [testembed] [winfo children .]
} {{} {}}
test macEmbed-3.1 {EmbeddedEventProc procedure, detect creation} {
foreach w [winfo child .] {
catch {destroy $w}
}
frame .f1 -container 1 -width 200 -height 50
pack .f1
set w1 [winfo id .f1]
set x [testembed]
toplevel .t1 -use $w1
wm withdraw .t1
list $x [testembed]
} {{{XXX .f1 {} {}}} {{XXX .f1 XXX .t1}}}
test macEmbed-3.2 {EmbeddedEventProc procedure, disallow position changes} {
foreach w [winfo child .] {
catch {destroy $w}
}
frame .f1 -container 1 -width 200 -height 50
pack .f1
set w1 [winfo id .f1]
toplevel .t1 -use $w1 -bd 2 -relief raised
update
wm geometry .t1 +30+40
update
wm geometry .t1
} {200x200+0+0}
test macEmbed-3.3 {EmbeddedEventProc procedure, disallow position changes} {
foreach w [winfo child .] {
catch {destroy $w}
}
frame .f1 -container 1 -width 200 -height 50
pack .f1
set w1 [winfo id .f1]
toplevel .t1 -use $w1
update
wm geometry .t1 300x100+30+40
update
wm geometry .t1
} {300x100+0+0}
test macEmbed-3.4 {EmbeddedEventProc procedure, geometry requests} {
foreach w [winfo child .] {
catch {destroy $w}
}
toplevel .t1 -container 1 -width 200 -height 50
set w1 [winfo id .t1]
toplevel .t2 -use $w1
update
.t1 configure -width 300 -height 80
update
list [winfo width .t1] [winfo height .t1] [wm geometry .t2]
} {300 80 300x80+0+0}
test macEmbed-3.5 {EmbeddedEventProc procedure, map requests} {
foreach w [winfo child .] {
catch {destroy $w}
}
frame .f1 -container 1 -width 200 -height 50
pack .f1
set w1 [winfo id .f1]
toplevel .t1 -use $w1
set x unmapped
bind .t1 <Map> {set x mapped}
update
after 100
update
set x
} {mapped}
test macEmbed-3.6 {EmbeddedEventProc procedure, destroy events} {
foreach w [winfo child .] {
catch {destroy $w}
}
frame .f1 -container 1 -width 200 -height 50
pack .f1
set w1 [winfo id .f1]
bind .f1 <Destroy> {set x dead}
set x alive
toplevel .t1 -use $w1
update
destroy .t1
update
list $x [winfo exists .f1]
} {dead 0}
test macEmbed-4.1 {EmbedStructureProc procedure, configure events} {
foreach w [winfo child .] {
catch {destroy $w}
}
frame .f1 -container 1 -width 200 -height 50
pack .f1
set w1 [winfo id .f1]
toplevel .t1 -use $w1
update
.t1 configure -width 180 -height 100
update
winfo geometry .t1
} {180x100+0+0}
test macEmbed-4.2 {EmbedStructureProc procedure, destroy events} {
foreach w [winfo child .] {
catch {destroy $w}
}
frame .f1 -container 1 -width 200 -height 50
pack .f1
set w1 [winfo id .f1]
toplevel .t1 -use $w1
update
set x [testembed]
destroy .f1
list $x [testembed]
} {{{XXX .f1 XXX .t1}} {}}
# Can't think up any tests for TkpGetOtherWindow procedure.
test unixEmbed-5.1 {TkpClaimFocus procedure} {tempNotMac} {
catch {interp delete child}
foreach w [winfo child .] {
catch {destroy $w}
}
frame .f1 -container 1 -width 200 -height 50
frame .f2 -width 200 -height 50
pack .f1 .f2
interp create child
child eval "set argv {-use [winfo id .f1]}"
load {} tk child
child eval {
. configure -bd 2 -highlightthickness 2 -relief sunken
}
focus -force .f2
update
list [child eval {
focus .
set x [list [focus]]
update
lappend x [focus]
}] [focus]
} {{{} .} .f1}
catch {interp delete child}
test macEmbed-6.1 {EmbedWindowDeleted procedure, check parentPtr} {
foreach w [winfo child .] {
catch {destroy $w}
}
frame .f1 -container 1 -width 200 -height 50
frame .f2 -container 1 -width 200 -height 50
frame .f3 -container 1 -width 200 -height 50
frame .f4 -container 1 -width 200 -height 50
pack .f1 .f2 .f3 .f4
set x {}
lappend x [testembed]
foreach w {.f3 .f4 .f1 .f2} {
destroy $w
lappend x [testembed]
}
set x
} {{{XXX .f4 {} {}} {XXX .f3 {} {}} {XXX .f2 {} {}} {XXX .f1 {} {}}} {{XXX .f4 {} {}} {XXX .f2 {} {}} {XXX .f1 {} {}}} {{XXX .f2 {} {}} {XXX .f1 {} {}}} {{XXX .f2 {} {}}} {}}
test macEmbed-6.2 {EmbedWindowDeleted procedure, check embeddedPtr} {
foreach w [winfo child .] {
catch {destroy $w}
}
frame .f1 -container 1 -width 200 -height 50
pack .f1
set w1 [winfo id .f1]
toplevel .t1 -use $w1 -highlightthickness 2 -bd 2 -relief sunken
set x {}
lappend x [testembed]
destroy .t1
update
lappend x [testembed]
} {{{XXX .f1 XXX .t1}} {}}
test macEmbed-7.1 {geometry propagation in tkUnixWm.c/UpdateGeometryInfo} {
foreach w [winfo child .] {
catch {destroy $w}
}
frame .f1 -container 1 -width 200 -height 50
pack .f1
toplevel .t1 -use [winfo id .f1] -width 150 -height 80
update
wm geometry .t1 +40+50
update
wm geometry .t1
} {150x80+0+0}
test macEmbed-7.2 {geometry propagation in tkUnixWm.c/UpdateGeometryInfo} {
foreach w [winfo child .] {
catch {destroy $w}
}
frame .f1 -container 1 -width 200 -height 50
pack .f1
toplevel .t1 -use [winfo id .f1] -width 150 -height 80
update
wm geometry .t1 70x300+10+20
update
wm geometry .t1
} {70x300+0+0}
foreach w [winfo child .] {
catch {destroy $w}
}
Go to most recent revision | Compare with Previous | Blame | View Log