diff options
author | rjohnson <rjohnson> | 1998-04-01 09:51:44 (GMT) |
---|---|---|
committer | rjohnson <rjohnson> | 1998-04-01 09:51:44 (GMT) |
commit | 066ea7fd88d49cb456f74da71dbe875e4fc0aabb (patch) | |
tree | 8fb30cb152c4dc191be47fa043d2e6f5ea38c7ba /tests/macEmbed.test | |
parent | 13242623d2ff3ea02ab6a62bfb48a7dbb5c27e22 (diff) | |
download | tk-066ea7fd88d49cb456f74da71dbe875e4fc0aabb.zip tk-066ea7fd88d49cb456f74da71dbe875e4fc0aabb.tar.gz tk-066ea7fd88d49cb456f74da71dbe875e4fc0aabb.tar.bz2 |
Initial revision
Diffstat (limited to 'tests/macEmbed.test')
-rw-r--r-- | tests/macEmbed.test | 290 |
1 files changed, 290 insertions, 0 deletions
diff --git a/tests/macEmbed.test b/tests/macEmbed.test new file mode 100644 index 0000000..f912dcd --- /dev/null +++ b/tests/macEmbed.test @@ -0,0 +1,290 @@ +# 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. +# +# SCCS: @(#) macEmbed.test 1.1 97/08/06 21:18:53 + +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.}} +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} +} |