diff options
Diffstat (limited to 'tests/focusTcl.test')
-rw-r--r-- | tests/focusTcl.test | 485 |
1 files changed, 346 insertions, 139 deletions
diff --git a/tests/focusTcl.test b/tests/focusTcl.test index 4a891b5..be07fff 100644 --- a/tests/focusTcl.test +++ b/tests/focusTcl.test @@ -7,133 +7,264 @@ # Copyright (c) 1998-1999 by Scriptics Corporation. # All rights reserved. # -# RCS: @(#) $Id: focusTcl.test,v 1.8 2004/05/23 17:34:48 dkf Exp $ +# RCS: @(#) $Id: focusTcl.test,v 1.9 2008/08/16 23:52:34 aniap Exp $ -package require tcltest 2.1 +package require tcltest 2.2 eval tcltest::configure $argv tcltest::loadTestedCommands +namespace import -force tcltest::test + +option add *takeFocus 1 +option add *highlightThickness 2 +. configure -takefocus 1 -highlightthickness 2 proc setup1 w { if {$w == "."} { - set w "" + set w "" } foreach i {a b c d} { - frame $w.$i -width 200 -height 50 -bd 2 -relief raised - pack $w.$i + destroy $w.$i + frame $w.$i -width 200 -height 50 -bd 2 -relief raised + pack $w.$i } .b configure -width 0 -height 0 foreach i {x y z} { - button $w.b.$i -text "Button $w.b.$i" - pack $w.b.$i -side left + destroy $w.b.$i + button $w.b.$i -text "Button $w.b.$i" + pack $w.b.$i -side left } if {![winfo ismapped $w.b.z]} { - tkwait visibility $w.b.z + tkwait visibility $w.b.z } } -option add *takeFocus 1 -option add *highlightThickness 2 -. configure -takefocus 1 -highlightthickness 2 -test focusTcl-1.1 {tk_focusNext procedure, no children} { +proc cleanup1 w { + if {$w == "."} { + set w "" + } + foreach i {a b c d} { + destroy $w.$i + } + foreach i {x y z} { + destroy $w.b.$i + } +} + + +test focusTcl-1.1 {tk_focusNext procedure, no children} -body { tk_focusNext . -} {.} -setup1 . -test focusTcl-1.2 {tk_focusNext procedure, basic tree traversal} { +} -result {.} + +test focusTcl-1.2 {tk_focusNext procedure, basic tree traversal} -body { + setup1 . tk_focusNext . -} {.a} -test focusTcl-1.3 {tk_focusNext procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.a} +test focusTcl-1.3 {tk_focusNext procedure, basic tree traversal} -body { + setup1 . tk_focusNext .a -} {.b} -test focusTcl-1.4 {tk_focusNext procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.b} +test focusTcl-1.4 {tk_focusNext procedure, basic tree traversal} -body { + setup1 . tk_focusNext .b -} {.b.x} -test focusTcl-1.5 {tk_focusNext procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.b.x} +test focusTcl-1.5 {tk_focusNext procedure, basic tree traversal} -body { + setup1 . tk_focusNext .b.x -} {.b.y} -test focusTcl-1.6 {tk_focusNext procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.b.y} +test focusTcl-1.6 {tk_focusNext procedure, basic tree traversal} -body { + setup1 . tk_focusNext .b.y -} {.b.z} -test focusTcl-1.7 {tk_focusNext procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.b.z} +test focusTcl-1.7 {tk_focusNext procedure, basic tree traversal} -body { + setup1 . tk_focusNext .b.z -} {.c} -test focusTcl-1.8 {tk_focusNext procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.c} +test focusTcl-1.8 {tk_focusNext procedure, basic tree traversal} -body { + setup1 . tk_focusNext .c -} {.d} -test focusTcl-1.9 {tk_focusNext procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.d} +test focusTcl-1.9 {tk_focusNext procedure, basic tree traversal} -body { + setup1 . tk_focusNext .d -} {.} -foreach w {.b .b.x .b.y .c .d} { - $w configure -takefocus 0 -} -test focusTcl-1.10 {tk_focusNext procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.} + +test focusTcl-1.10 {tk_focusNext procedure, basic tree traversal} -body { + setup1 . + foreach w {.b .b.x .b.y .c .d} { + $w configure -takefocus 0 + } tk_focusNext .a -} {.b.z} -test focusTcl-1.11 {tk_focusNext procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.b.z} +test focusTcl-1.11 {tk_focusNext procedure, basic tree traversal} -body { + setup1 . + foreach w {.b .b.x .b.y .c .d} { + $w configure -takefocus 0 + } tk_focusNext .b.z -} {.} -test focusTcl-1.12 {tk_focusNext procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.} + +test focusTcl-1.12 {tk_focusNext procedure, basic tree traversal} -body { + setup1 . deleteWindows setup1 . update . configure -takefocus 0 tk_focusNext .d -} {.a} -. configure -takefocus 1 +} -cleanup { + . configure -takefocus 1 + cleanup1 . +} -result {.a} + + +test focusTcl-2.1 {tk_focusNext procedure, toplevels} -setup { + deleteWindows +} -body { + setup1 . + toplevel .t + wm geom .t +0+0 + toplevel .t2 + wm geom .t2 -0+0 + raise .t .a -deleteWindows -setup1 . -toplevel .t -wm geom .t +0+0 -toplevel .t2 -wm geom .t2 -0+0 -raise .t .a -test focusTcl-2.1 {tk_focusNext procedure, toplevels} { tk_focusNext .a -} {.b} -test focusTcl-2.2 {tk_focusNext procedure, toplevels} { +} -cleanup { + deleteWindows +} -result {.b} +test focusTcl-2.2 {tk_focusNext procedure, toplevels} -setup { + deleteWindows +} -body { + setup1 . + toplevel .t + wm geom .t +0+0 + toplevel .t2 + wm geom .t2 -0+0 + raise .t .a + tk_focusNext .d -} {.} -test focusTcl-2.3 {tk_focusNext procedure, toplevels} { +} -cleanup { + deleteWindows +} -result {.} +test focusTcl-2.3 {tk_focusNext procedure, toplevels} -setup { + deleteWindows +} -body { + setup1 . + toplevel .t + wm geom .t +0+0 + toplevel .t2 + wm geom .t2 -0+0 + raise .t .a + tk_focusNext .t -} {.t} -setup1 .t -raise .t.b -test focusTcl-2.4 {tk_focusNext procedure, toplevels} { +} -cleanup { + deleteWindows +} -result {.t} +test focusTcl-2.4 {tk_focusNext procedure, toplevels} -setup { + deleteWindows +} -body { + setup1 . + toplevel .t + wm geom .t +0+0 + toplevel .t2 + wm geom .t2 -0+0 + raise .t .a + setup1 .t + raise .t.b + tk_focusNext .t -} {.t.a} -test focusTcl-2.5 {tk_focusNext procedure, toplevels} { +} -cleanup { + deleteWindows +} -result {.t.a} +test focusTcl-2.5 {tk_focusNext procedure, toplevels} -setup { + deleteWindows +} -body { + setup1 . + toplevel .t + wm geom .t +0+0 + toplevel .t2 + wm geom .t2 -0+0 + raise .t .a + setup1 .t + raise .t.b + tk_focusNext .t.b.z -} {.t} +} -cleanup { + deleteWindows +} -result {.t} -deleteWindows -test focusTcl-3.1 {tk_focusPrev procedure, no children} { + +test focusTcl-3.1 {tk_focusPrev procedure, no children} -body { tk_focusPrev . -} {.} -setup1 . -test focusTcl-3.2 {tk_focusPrev procedure, basic tree traversal} { +} -result {.} + +test focusTcl-3.2 {tk_focusPrev procedure, basic tree traversal} -body { + setup1 . tk_focusPrev . -} {.d} -test focusTcl-3.3 {tk_focusPrev procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.d} +test focusTcl-3.3 {tk_focusPrev procedure, basic tree traversal} -body { + setup1 . tk_focusPrev .d -} {.c} -test focusTcl-3.4 {tk_focusPrev procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.c} +test focusTcl-3.4 {tk_focusPrev procedure, basic tree traversal} -body { + setup1 . tk_focusPrev .c -} {.b.z} -test focusTcl-3.5 {tk_focusPrev procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.b.z} +test focusTcl-3.5 {tk_focusPrev procedure, basic tree traversal} -body { + setup1 . tk_focusPrev .b.z -} {.b.y} -test focusTcl-3.6 {tk_focusPrev procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.b.y} +test focusTcl-3.6 {tk_focusPrev procedure, basic tree traversal} -body { + setup1 . tk_focusPrev .b.y -} {.b.x} -test focusTcl-3.7 {tk_focusPrev procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.b.x} +test focusTcl-3.7 {tk_focusPrev procedure, basic tree traversal} -body { + setup1 . tk_focusPrev .b.x -} {.b} -test focusTcl-3.8 {tk_focusPrev procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.b} +test focusTcl-3.8 {tk_focusPrev procedure, basic tree traversal} -body { + setup1 . tk_focusPrev .b -} {.a} -test focusTcl-3.9 {tk_focusPrev procedure, basic tree traversal} { +} -cleanup { + cleanup1 . +} -result {.a} +test focusTcl-3.9 {tk_focusPrev procedure, basic tree traversal} -body { + setup1 . tk_focusPrev .a -} {.} +} -cleanup { + cleanup1 . +} -result {.} + deleteWindows setup1 . @@ -142,35 +273,95 @@ wm geom .t +0+0 toplevel .t2 wm geom .t2 -0+0 raise .t .a -test focusTcl-4.1 {tk_focusPrev procedure, toplevels} { +test focusTcl-4.1 {tk_focusPrev procedure, toplevels} -setup { + deleteWindows +} -body { + setup1 . + toplevel .t + wm geom .t +0+0 + toplevel .t2 + wm geom .t2 -0+0 + raise .t .a + tk_focusPrev . -} {.d} -test focusTcl-4.2 {tk_focusPrev procedure, toplevels} { +} -cleanup { + deleteWindows +} -result {.d} +test focusTcl-4.2 {tk_focusPrev procedure, toplevels} -setup { + deleteWindows +} -body { + setup1 . + toplevel .t + wm geom .t +0+0 + toplevel .t2 + wm geom .t2 -0+0 + raise .t .a + tk_focusPrev .b -} {.a} -test focusTcl-4.3 {tk_focusPrev procedure, toplevels} { +} -cleanup { + deleteWindows +} -result {.a} +test focusTcl-4.3 {tk_focusPrev procedure, toplevels} -setup { + deleteWindows +} -body { + setup1 . + toplevel .t + wm geom .t +0+0 + toplevel .t2 + wm geom .t2 -0+0 + raise .t .a + tk_focusPrev .t -} {.t} -setup1 .t -update -.t configure -takefocus 0 -raise .t.b -test focusTcl-4.4 {tk_focusPrev procedure, toplevels} { +} -cleanup { + deleteWindows +} -result {.t} + +test focusTcl-4.4 {tk_focusPrev procedure, toplevels} -setup { + deleteWindows +} -body { + setup1 . + toplevel .t + wm geom .t +0+0 + toplevel .t2 + wm geom .t2 -0+0 + raise .t .a + setup1 .t + update + .t configure -takefocus 0 + raise .t.b + tk_focusPrev .t -} {.t.b.z} -test focusTcl-4.5 {tk_focusPrev procedure, toplevels} { - tk_focusPrev .t.a -} {.t.b.z} +} -cleanup { + deleteWindows +} -result {.t.b.z} +test focusTcl-4.5 {tk_focusPrev procedure, toplevels} -setup { + deleteWindows +} -body { + setup1 . + toplevel .t + wm geom .t +0+0 + toplevel .t2 + wm geom .t2 -0+0 + raise .t .a + setup1 .t + update + .t configure -takefocus 0 + raise .t.b -deleteWindows -test focusTcl-5.1 {tkFocusOK procedure, -takefocus 0} { + tk_focusPrev .t.a +} -cleanup { deleteWindows +} -result {.t.b.z} + + +test focusTcl-5.1 {tkFocusOK procedure, -takefocus 0} -body { setup1 . .b.x configure -takefocus 0 tk_focusNext .b -} {.b.y} -test focusTcl-5.2 {tkFocusOK procedure, -takefocus 1} { - deleteWindows +} -cleanup { + cleanup1 . +} -result {.b.y} +test focusTcl-5.2 {tkFocusOK procedure, -takefocus 1} -body { setup1 . pack forget .b update @@ -178,103 +369,119 @@ test focusTcl-5.2 {tkFocusOK procedure, -takefocus 1} { .b.y configure -takefocus "" .b.z configure -takefocus "" list [tk_focusNext .a] [tk_focusNext .b.x] -} {.c .c} -test focusTcl-5.3 {tkFocusOK procedure, -takefocus procedure} { +} -cleanup { + cleanup1 . +} -result {.c .c} +test focusTcl-5.3 {tkFocusOK procedure, -takefocus procedure} -body { proc t w { - if {$w == ".b.x"} { - return 1 - } elseif {$w == ".b.y"} { - return "" - } - return 0 + if {$w == ".b.x"} { + return 1 + } elseif {$w == ".b.y"} { + return "" } - deleteWindows + return 0 + } + setup1 . pack forget .b.y update .b configure -takefocus "" foreach w {.b.x .b.y .b.z .c} { - $w configure -takefocus t + $w configure -takefocus t } list [tk_focusNext .a] [tk_focusNext .b.x] -} {.b.x .d} -test focusTcl-5.4 {tkFocusOK procedure, -takefocus ""} { - deleteWindows +} -cleanup { + cleanup1 . +} -result {.b.x .d} +test focusTcl-5.4 {tkFocusOK procedure, -takefocus ""} -body { setup1 . .b.x configure -takefocus "" update tk_focusNext .b -} {.b.x} -test focusTcl-5.5 {tkFocusOK procedure, -takefocus "", not mapped} { - deleteWindows +} -cleanup { + cleanup1 . +} -result {.b.x} +test focusTcl-5.5 {tkFocusOK procedure, -takefocus "", not mapped} -body { setup1 . .b.x configure -takefocus "" pack unpack .b.x update tk_focusNext .b -} {.b.y} -test focusTcl-5.6 {tkFocusOK procedure, -takefocus "", not mapped} { - deleteWindows +} -cleanup { + cleanup1 . +} -result {.b.y} +test focusTcl-5.6 {tkFocusOK procedure, -takefocus "", not mapped} -body { setup1 . foreach w {.b.x .b.y .b.z} { - $w configure -takefocus "" + $w configure -takefocus "" } pack unpack .b update tk_focusNext .b -} {.c} -test focusTcl-5.7 {tkFocusOK procedure, -takefocus "", not mapped} { - deleteWindows +} -cleanup { + cleanup1 . +} -result {.c} +test focusTcl-5.7 {tkFocusOK procedure, -takefocus "", not mapped} -body { setup1 . .b.y configure -takefocus 1 pack unpack .b.y update tk_focusNext .b.x -} {.b.z} -test focusTcl-5.8 {tkFocusOK procedure, -takefocus "", not mapped} { +} -cleanup { + cleanup1 . +} -result {.b.z} +test focusTcl-5.8 {tkFocusOK procedure, -takefocus "", not mapped} -body { proc always args {return 1} - deleteWindows setup1 . .b.y configure -takefocus always pack unpack .b.y update tk_focusNext .b.x -} {.b.y} -test focusTcl-5.9 {tkFocusOK procedure, -takefocus "", window disabled} { - deleteWindows +} -cleanup { + cleanup1 . +} -result {.b.y} +test focusTcl-5.9 {tkFocusOK procedure, -takefocus "", window disabled} -body { setup1 . foreach w {.b.x .b.y .b.z} { - $w configure -takefocus "" + $w configure -takefocus "" } update .b.x configure -state disabled tk_focusNext .b -} {.b.y} -test focusTcl-5.10 {tkFocusOK procedure, -takefocus "", check for bindings} { - deleteWindows +} -cleanup { + cleanup1 . +} -result {.b.y} +test focusTcl-5.10 {tkFocusOK procedure, -takefocus "", check for bindings} -body { setup1 . foreach w {.a .b .c .d} { - $w configure -takefocus "" + $w configure -takefocus "" } update bind .a <Key> {foo} list [tk_focusNext .] [tk_focusNext .a] -} {.a .b.x} -test focusTcl-5.11 {tkFocusOK procedure, -takefocus "", check for bindings} { - deleteWindows +} -cleanup { + cleanup1 . +} -result {.a .b.x} +test focusTcl-5.11 {tkFocusOK procedure, -takefocus "", check for bindings} -body { setup1 . foreach w {.a .b .c .d} { - $w configure -takefocus "" + $w configure -takefocus "" } update bind Frame <Key> {foo} list [tk_focusNext .] [tk_focusNext .a] -} {.a .b} +} -cleanup { + cleanup1 . + bind Frame <Key> {} +} -result {.a .b} + -bind Frame <Key> {} . configure -takefocus 0 -highlightthickness 0 option clear # cleanup cleanupTests return + + + |