diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2005-11-18 23:44:37 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2005-11-18 23:44:37 (GMT) |
commit | 295479d405962a997b4a274d1938618ddd02d004 (patch) | |
tree | 244c1c1a43fb25d4acd06db002e3838c15240389 /tests/trace.test | |
parent | db36a85a193361b27cc5554d5861e17e14fbe2a0 (diff) | |
download | tcl-295479d405962a997b4a274d1938618ddd02d004.zip tcl-295479d405962a997b4a274d1938618ddd02d004.tar.gz tcl-295479d405962a997b4a274d1938618ddd02d004.tar.bz2 |
* tests/trace.test (trace-34.5): [Bug 1047286], added a second
test illustrating the role of "ns in callStack" in the ns's
visibility during deletion traces.
Diffstat (limited to 'tests/trace.test')
-rw-r--r-- | tests/trace.test | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/tests/trace.test b/tests/trace.test index 91cc98b..4409fe1 100644 --- a/tests/trace.test +++ b/tests/trace.test @@ -11,7 +11,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: trace.test,v 1.26.2.13 2005/11/18 23:07:27 msofer Exp $ +# RCS: @(#) $Id: trace.test,v 1.26.2.14 2005/11/18 23:44:37 msofer Exp $ if {[lsearch [namespace children] ::tcltest] == -1} { package require tcltest @@ -2267,10 +2267,12 @@ test trace-34.3 {Bug 1224585} { foo } {} +# We test here for the half-documented and currently valid interplay between +# delete traces and namespace deletion. test trace-34.4 {Bug 1047286} { variable x notrace proc callback {old - -} { - variable x "$old exists: [namespace which -command $old]" + variable x "$old exists: [namespace which -command $old]" } namespace eval ::foo {proc bar {} {}} trace add command ::foo::bar delete [namespace code callback] @@ -2278,6 +2280,17 @@ test trace-34.4 {Bug 1047286} { set x } {::foo::bar exists: ::foo::bar} +test trace-34.5 {Bug 1047286} { + variable x notrace + proc callback {old - -} { + variable x "$old exists: [namespace which -command $old]" + } + namespace eval ::foo {proc bar {} {}} + trace add command ::foo::bar delete [namespace code callback] + namespace eval ::foo namespace delete ::foo + set x +} {::foo::bar exists: } + # Delete procedures when done, so we don't clash with other tests # (e.g. foobar will clash with 'unknown' tests). catch {rename foobar {}} |