diff options
author | pspjuth <peter.spjuth@gmail.com> | 2009-08-19 23:01:59 (GMT) |
---|---|---|
committer | pspjuth <peter.spjuth@gmail.com> | 2009-08-19 23:01:59 (GMT) |
commit | 2b61fda7660e28461b6dfe55f422c70aa390483d (patch) | |
tree | a4c7c1cd7c558900a4ca247babd4096d872f1f42 /tests | |
parent | f4cf4a95f73b53ac9c0a6e3c93d9676d2877598e (diff) | |
download | tk-2b61fda7660e28461b6dfe55f422c70aa390483d.zip tk-2b61fda7660e28461b6dfe55f422c70aa390483d.tar.gz tk-2b61fda7660e28461b6dfe55f422c70aa390483d.tar.bz2 |
Give an error if grid and pack are used in the same master. [Patch 2475855]
Diffstat (limited to 'tests')
-rw-r--r-- | tests/grid.test | 4 | ||||
-rw-r--r-- | tests/packgrid.test | 223 | ||||
-rw-r--r-- | tests/textIndex.test | 4 |
3 files changed, 227 insertions, 4 deletions
diff --git a/tests/grid.test b/tests/grid.test index bb89096..62e4eb3 100644 --- a/tests/grid.test +++ b/tests/grid.test @@ -5,7 +5,7 @@ # Copyright (c) 1998-1999 by Scriptics Corporation. # All rights reserved. # -# RCS: @(#) $Id: grid.test,v 1.34 2008/08/27 18:08:02 pspjuth Exp $ +# RCS: @(#) $Id: grid.test,v 1.35 2009/08/19 23:02:00 pspjuth Exp $ package require tcltest 2.2 eval tcltest::configure $argv @@ -1483,7 +1483,7 @@ test grid-15.2 {lost slave} -body { button .b grid .b -in .f set a [grid slaves .f] - pack .b + pack .b -in .f lappend a [grid slaves .f] grid .b -in .f lappend a [grid slaves .f] diff --git a/tests/packgrid.test b/tests/packgrid.test new file mode 100644 index 0000000..cbbb6f0 --- /dev/null +++ b/tests/packgrid.test @@ -0,0 +1,223 @@ +# This file is a Tcl script to test out interaction between Tk's "pack" and +# "grid" commands. +# It is organized in the standard fashion for Tcl tests. +# +# Copyright (c) 2008 Peter Spjuth +# All rights reserved. +# +# RCS: @(#) $Id: packgrid.test,v 1.1 2009/08/19 23:02:00 pspjuth Exp $ +# + +package require tcltest 2.2 +eval tcltest::configure $argv +tcltest::loadTestedCommands +namespace import -force tcltest::* + +test packgrid-1.1 {pack and grid in same master} -setup { + grid propagate . true + pack propagate . true + label .p -text PACK + label .g -text GRID +} -body { + # Basic conflict + grid .g + pack .p +} -returnCodes error -cleanup { + destroy .p + destroy .g +} -result {cannot use geometry manager pack inside . which already has slaves managed by grid} + +test packgrid-1.2 {pack and grid in same master} -setup { + grid propagate . true + pack propagate . true + label .p -text PACK + label .g -text GRID +} -body { + # Basic conflict + pack .p + grid .g +} -returnCodes error -cleanup { + destroy .p + destroy .g +} -result {cannot use geometry manager grid inside . which already has slaves managed by pack} + +test packgrid-1.3 {pack and grid in same master} -setup { + grid propagate . false + pack propagate . true + label .p -text PACK + label .g -text GRID +} -body { + # Ok if one is non-propagating + grid .g + pack .p +} -cleanup { + destroy .p + destroy .g +} -result {} + +test packgrid-1.4 {pack and grid in same master} -setup { + grid propagate . false + pack propagate . true + label .p -text PACK + label .g -text GRID +} -body { + # Ok if one is non-propagating + pack .p + grid .g +} -cleanup { + destroy .p + destroy .g +} -result {} + +test packgrid-1.5 {pack and grid in same master} -setup { + grid propagate . true + pack propagate . false + label .p -text PACK + label .g -text GRID +} -body { + # Ok if one is non-propagating + grid .g + pack .p +} -cleanup { + destroy .p + destroy .g +} -result {} + +test packgrid-1.6 {pack and grid in same master} -setup { + grid propagate . true + pack propagate . false + label .p -text PACK + label .g -text GRID +} -body { + # Ok if one is non-propagating + pack .p + grid .g +} -cleanup { + destroy .p + destroy .g +} -result {} + +test packgrid-2.1 {pack and grid in same master, change propagation} -setup { + grid propagate . false + pack propagate . true + label .p -text PACK + label .g -text GRID + pack .p + grid .g + update +} -body { + grid propagate . true +} -returnCodes error -cleanup { + destroy .p + destroy .g +} -result {cannot use geometry manager grid inside . which already has slaves managed by pack} + +test packgrid-2.2 {pack and grid in same master, change propagation} -setup { + grid propagate . true + pack propagate . false + label .p -text PACK + label .g -text GRID + pack .p + grid .g + update +} -body { + pack propagate . true +} -returnCodes error -cleanup { + destroy .p + update + destroy .g +} -result {cannot use geometry manager pack inside . which already has slaves managed by grid} + +test packgrid-2.3 {pack and grid in same master, change propagation} -setup { + grid propagate . false + pack propagate . false + label .p -text PACK + label .g -text GRID + pack .p + grid .g + update +} -body { + grid propagate . true + update + pack propagate . true +} -returnCodes error -cleanup { + destroy .p + destroy .g +} -result {cannot use geometry manager pack inside . which already has slaves managed by grid} + +test packgrid-2.4 {pack and grid in same master, change propagation} -setup { + grid propagate . false + pack propagate . false + label .p -text PACK + label .g -text GRID + pack .p + grid .g + update +} -body { + pack propagate . true + grid propagate . true +} -returnCodes error -cleanup { + destroy .p + destroy .g +} -result {cannot use geometry manager grid inside . which already has slaves managed by pack} + +test packgrid-3.1 {stealing slave} -setup { + grid propagate . true + pack propagate . true + label .p -text PACK + label .g -text GRID +} -body { + # Ok to steal if the other one is emptied + grid .g + pack .g +} -cleanup { + destroy .p + destroy .g +} -result {} + +test packgrid-3.2 {stealing slave} -setup { + grid propagate . true + pack propagate . true + label .p -text PACK + label .g -text GRID +} -body { + # Ok to steal if the other one is emptied + pack .g + grid .g +} -cleanup { + destroy .p + destroy .g +} -result {} + +test packgrid-3.3 {stealing slave} -setup { + grid propagate . true + pack propagate . true + label .p -text PACK + label .g -text GRID +} -body { + # Not ok to steal if the other one is not emptied + grid .g + grid .p + pack .g +} -returnCodes error -cleanup { + destroy .p + destroy .g +} -result {cannot use geometry manager pack inside . which already has slaves managed by grid} + +test packgrid-3.4 {stealing slave} -setup { + grid propagate . true + pack propagate . true + label .p -text PACK + label .g -text GRID +} -body { + # Not ok to steal if the other one is not emptied + pack .g + pack .p + grid .g +} -returnCodes error -cleanup { + destroy .p + destroy .g +} -result {cannot use geometry manager grid inside . which already has slaves managed by pack} + +cleanupTests +return diff --git a/tests/textIndex.test b/tests/textIndex.test index 1546973..3b417d0 100644 --- a/tests/textIndex.test +++ b/tests/textIndex.test @@ -6,7 +6,7 @@ # Copyright (c) 1998-1999 by Scriptics Corporation. # All rights reserved. # -# RCS: @(#) $Id: textIndex.test,v 1.18 2005/07/18 22:12:05 vincentdarley Exp $ +# RCS: @(#) $Id: textIndex.test,v 1.19 2009/08/19 23:02:00 pspjuth Exp $ package require tcltest 2.1 eval tcltest::configure $argv @@ -784,7 +784,7 @@ test textIndex-19.12 {Display lines} { } {2.20} test textIndex-19.13 {Display lines} { - destroy .t + destroy {*}[pack slaves .] text .txt -height 1 -wrap word -yscroll ".sbar set" -width 400 scrollbar .sbar -command ".txt yview" grid .txt .sbar -sticky news |