diff options
Diffstat (limited to 'tests/place.test')
-rw-r--r-- | tests/place.test | 221 |
1 files changed, 221 insertions, 0 deletions
diff --git a/tests/place.test b/tests/place.test new file mode 100644 index 0000000..06540e3 --- /dev/null +++ b/tests/place.test @@ -0,0 +1,221 @@ +# This file is a Tcl script to test out the "place" command. It is +# organized in the standard fashion for Tcl tests. +# +# Copyright (c) 1995 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: @(#) place.test 1.6 96/02/16 10:56:01 + +if {[info procs test] != "test"} { + source defs +} + +foreach i [winfo children .] { + destroy $i +} +wm geometry . {} +raise . + +# XXX - This test file is woefully incomplete. At present, only a +# few of the features are tested. + +toplevel .t -width 300 -height 200 -bd 0 +wm geom .t +0+0 +frame .t.f -width 154 -height 84 -bd 2 -relief raised +place .t.f -x 48 -y 38 +frame .t.f2 -width 30 -height 60 -bd 2 -relief raised +update + +test place-1.1 {Tk_PlaceCmd procedure, "info" option} { + place .t.f2 -x 0 + place info .t.f2 +} {-x 0 -relx 0 -y 0 -rely 0 -width {} -relwidth {} -height {} -relheight {} -anchor nw} +test place-1.2 {Tk_PlaceCmd procedure, "info" option} { + place .t.f2 -x 1 -y 2 -width 3 -height 4 -relx 0.1 -rely 0.2 \ + -relwidth 0.3 -relheight 0.4 -anchor se -in .t.f \ + -bordermode outside + place info .t.f2 +} {-x 1 -relx 0.1 -y 2 -rely 0.2 -width 3 -relwidth 0.3 -height 4 -relheight 0.4 -anchor se -bordermode outside -in .t.f} + +test place-2.1 {ConfigureSlave procedure, -height option} { + list [catch {place .t.f2 -height abcd} msg] $msg +} {1 {bad screen distance "abcd"}} +test place-2.2 {ConfigureSlave procedure, -height option} { + place forget .t.f2 + place .t.f2 -in .t.f -height 40 + update + winfo height .t.f2 +} {40} +test place-2.3 {ConfigureSlave procedure, -height option} { + place forget .t.f2 + place .t.f2 -in .t.f -height 120 + update + place .t.f2 -height {} + update + winfo height .t.f2 +} {60} + +test place-3.1 {ConfigureSlave procedure, -relheight option} { + list [catch {place .t.f2 -relheight abcd} msg] $msg +} {1 {expected floating-point number but got "abcd"}} +test place-3.2 {ConfigureSlave procedure, -relheight option} { + place forget .t.f2 + place .t.f2 -in .t.f -relheight .5 + update + winfo height .t.f2 +} {40} +test place-3.3 {ConfigureSlave procedure, -relheight option} { + place forget .t.f2 + place .t.f2 -in .t.f -relheight .8 + update + place .t.f2 -relheight {} + update + winfo height .t.f2 +} {60} + +test place-4.1 {ConfigureSlave procedure, bad -in options} { + place forget .t.f2 + list [catch {place .t.f2 -in .t.f2} msg] $msg +} {1 {can't place .t.f2 relative to itself}} + +test place-5.1 {ConfigureSlave procedure, -relwidth option} { + list [catch {place .t.f2 -relwidth abcd} msg] $msg +} {1 {expected floating-point number but got "abcd"}} +test place-5.2 {ConfigureSlave procedure, -relwidth option} { + place forget .t.f2 + place .t.f2 -in .t.f -relwidth .5 + update + winfo width .t.f2 +} {75} +test place-5.3 {ConfigureSlave procedure, -relwidth option} { + place forget .t.f2 + place .t.f2 -in .t.f -relwidth .8 + update + place .t.f2 -relwidth {} + update + winfo width .t.f2 +} {30} + +test place-6.1 {ConfigureSlave procedure, -width option} { + list [catch {place .t.f2 -width abcd} msg] $msg +} {1 {bad screen distance "abcd"}} +test place-6.2 {ConfigureSlave procedure, -width option} { + place forget .t.f2 + place .t.f2 -in .t.f -width 100 + update + winfo width .t.f2 +} {100} +test place-6.3 {ConfigureSlave procedure, -width option} { + place forget .t.f2 + place .t.f2 -in .t.f -width 120 + update + place .t.f2 -width {} + update + winfo width .t.f2 +} {30} + +test place-7.1 {ReconfigurePlacement procedure, computing position} { + place forget .t.f2 + place .t.f2 -in .t.f -x -2 -relx .5 -y 3 -rely .4 + update + winfo geometry .t.f2 +} {30x60+123+75} +test place-7.2 {ReconfigurePlacement procedure, position rounding} { + place forget .t.f2 + place .t.f2 -in .t.f -x -1.4 -y -2.3 + update + winfo geometry .t.f2 +} {30x60+49+38} +test place-7.3 {ReconfigurePlacement procedure, position rounding} { + place forget .t.f2 + place .t.f2 -in .t.f -x 1.4 -y 2.3 + update + winfo geometry .t.f2 +} {30x60+51+42} +test place-7.4 {ReconfigurePlacement procedure, position rounding} { + place forget .t.f2 + place .t.f2 -in .t.f -x -1.6 -y -2.7 + update + winfo geometry .t.f2 +} {30x60+48+37} +test place-7.5 {ReconfigurePlacement procedure, position rounding} { + place forget .t.f2 + place .t.f2 -in .t.f -x 1.6 -y 2.7 + update + winfo geometry .t.f2 +} {30x60+52+43} +test place-7.6 {ReconfigurePlacement procedure, position rounding} { + frame .t.f3 -width 100 -height 100 -bg #f00000 -bd 0 + place .t.f3 -x 0 -y 0 + raise .t.f2 + place forget .t.f2 + place .t.f2 -in .t.f3 -relx .303 -rely .406 -relwidth .304 -relheight .206 + update + winfo geometry .t.f2 +} {31x20+30+41} +catch {destroy .t.f3} +test place-7.7 {ReconfigurePlacement procedure, computing size} { + place forget .t.f2 + place .t.f2 -in .t.f -width 120 -height 89 + update + list [winfo width .t.f2] [winfo height .t.f2] +} {120 89} +test place-7.8 {ReconfigurePlacement procedure, computing size} { + place forget .t.f2 + place .t.f2 -in .t.f -relwidth .4 -relheight .5 + update + list [winfo width .t.f2] [winfo height .t.f2] +} {60 40} +test place-7.9 {ReconfigurePlacement procedure, computing size} { + place forget .t.f2 + place .t.f2 -in .t.f -width 10 -relwidth .4 -height -4 -relheight .5 + update + list [winfo width .t.f2] [winfo height .t.f2] +} {70 36} +test place-7.10 {ReconfigurePlacement procedure, computing size} { + place forget .t.f2 + place .t.f2 -in .t.f -width 10 -relwidth .4 -height -4 -relheight .5 + place .t.f2 -width {} -relwidth {} -height {} -relheight {} + update + list [winfo width .t.f2] [winfo height .t.f2] +} {30 60} + + +test place-8.1 {MasterStructureProc, mapping and unmapping slaves} { + place forget .t.f2 + place forget .t.f + place .t.f2 -relx 1.0 -rely 1.0 -anchor sw + update + set result [winfo ismapped .t.f2] + wm iconify .t + update + lappend result [winfo ismapped .t.f2] + place .t.f2 -x 40 -y 30 -relx 0 -rely 0 -anchor nw + update + lappend result [winfo x .t.f2] [winfo y .t.f2] [winfo ismapped .t.f2] + wm deiconify .t + update + lappend result [winfo ismapped .t.f2] +} {1 0 40 30 0 1} +test place-8.2 {MasterStructureProc, mapping and unmapping slaves} { + place forget .t.f2 + place forget .t.f + place .t.f -x 0 -y 0 -width 200 -height 100 + place .t.f2 -in .t.f -relx 1.0 -rely 1.0 -anchor sw -width 50 -height 20 + update + set result [winfo ismapped .t.f2] + wm iconify .t + update + lappend result [winfo ismapped .t.f2] + place .t.f2 -x 40 -y 30 -relx 0 -rely 0 -anchor nw + update + lappend result [winfo x .t.f2] [winfo y .t.f2] [winfo ismapped .t.f2] + wm deiconify .t + update + lappend result [winfo ismapped .t.f2] +} {1 0 42 32 0 1} + +catch {destroy .t} +concat |