summaryrefslogtreecommitdiffstats
path: root/tests/namespace.test
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2004-08-27 09:07:05 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2004-08-27 09:07:05 (GMT)
commitf66cdc715d723c8f3e56bc2f02ada4e40ab9918b (patch)
tree2f5569cc787f5987f997f634d0d1010fd5fc6558 /tests/namespace.test
parent764ac92a3955efa03da1fb7b5076bc1f8ba70524 (diff)
downloadtcl-f66cdc715d723c8f3e56bc2f02ada4e40ab9918b.zip
tcl-f66cdc715d723c8f3e56bc2f02ada4e40ab9918b.tar.gz
tcl-f66cdc715d723c8f3e56bc2f02ada4e40ab9918b.tar.bz2
Fix [Bug 1017022] by factorizing out the ensemble lookup code and fixing once.
Diffstat (limited to 'tests/namespace.test')
-rw-r--r--tests/namespace.test43
1 files changed, 41 insertions, 2 deletions
diff --git a/tests/namespace.test b/tests/namespace.test
index 0235d74..19c62ae 100644
--- a/tests/namespace.test
+++ b/tests/namespace.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: namespace.test,v 1.31 2004/08/25 21:37:29 dkf Exp $
+# RCS: @(#) $Id: namespace.test,v 1.32 2004/08/27 09:07:06 dkf Exp $
if {[lsearch [namespace children] ::tcltest] == -1} {
package require tcltest 2
@@ -1649,7 +1649,8 @@ test namespace-47.6 {ensemble: unknown handler} {
while parsing result of ensemble unknown subcommand handler
invoked from within
"foo bar"}}
-test namespace-47.7 {ensemble: unknown handler and namespace import} {
+
+test namespace-48.1 {ensembles and namespace import: unknown handler} {
namespace eval foo {
namespace export bar
namespace ensemble create -command bar -unknown ::foo::u -subcomm x
@@ -1675,6 +1676,40 @@ test namespace-47.7 {ensemble: unknown handler and namespace import} {
namespace delete foo
set result
} {1 {bar is not an ensemble command} XXX 123 ::foo::bar {y 456} YYY 456}
+test namespace-48.2 {ensembles and namespace import: exists} {
+ namespace eval foo {
+ namespace ensemble create -command ::foo::bar
+ namespace export bar
+ }
+ set result [namespace ensemble exist foo::bar]
+ lappend result [namespace ensemble exist bar]
+ namespace import foo::bar
+ lappend result [namespace ensemble exist bar]
+ rename foo::bar foo::bar2
+ lappend result [namespace ensemble exist bar] \
+ [namespace ensemble exist spong]
+ rename bar spong
+ lappend result [namespace ensemble exist bar] \
+ [namespace ensemble exist spong]
+ rename foo::bar2 {}
+ lappend result [namespace ensemble exist spong]
+ namespace delete foo
+ set result
+} {1 0 1 1 0 0 1 0}
+test namespace-48.3 {ensembles and namespace import: config} {
+ catch {rename spong {}}
+ namespace eval foo {
+ namespace ensemble create -command ::foo::bar
+ namespace export bar boo
+ proc boo {} {}
+ }
+ namespace import foo::bar foo::boo
+ set result [namespace ensemble config bar -namespace]
+ lappend result [catch {namespace ensemble config boo} msg] $msg
+ lappend result [catch {namespace ensemble config spong} msg] $msg
+ namespace delete foo
+ set result
+} {::foo 1 {boo is not an ensemble command} 1 {invalid command name "spong"}}
# cleanup
catch {rename cmd1 {}}
@@ -1684,3 +1719,7 @@ catch {unset trigger}
namespace delete {expand}[namespace children :: test_ns_*]
::tcltest::cleanupTests
return
+
+# Local Variables:
+# mode: tcl
+# End: