summaryrefslogtreecommitdiff
path: root/itcl/itcl/tests/delete.test
diff options
context:
space:
mode:
Diffstat (limited to 'itcl/itcl/tests/delete.test')
-rw-r--r--itcl/itcl/tests/delete.test56
1 files changed, 32 insertions, 24 deletions
diff --git a/itcl/itcl/tests/delete.test b/itcl/itcl/tests/delete.test
index bf4ce5b61b8..dc320824643 100644
--- a/itcl/itcl/tests/delete.test
+++ b/itcl/itcl/tests/delete.test
@@ -13,8 +13,13 @@
# See the file "license.terms" for information on usage and
# redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+package require tcltest
+namespace import -force ::tcltest::*
+
if {[string compare test [info procs test]] == 1} then {source defs}
+package require Itcl
+
# ----------------------------------------------------------------------
# Deleting classes and objects
# ----------------------------------------------------------------------
@@ -31,15 +36,15 @@ test delete-1.2 {create some base class objects} {
for {set i 0} {$i < 5} {incr i} {
test_delete_base #auto
}
- lsort [find objects -class test_delete_base]
+ lsort [itcl::find objects -class test_delete_base]
} {test_delete_base0 test_delete_base1 test_delete_base2 test_delete_base3 test_delete_base4}
test delete-1.3 {delete the base class--class and all objects go away} {
- list [delete class test_delete_base] \
- [find classes test_delete_base] \
+ list [itcl::delete class test_delete_base] \
+ [itcl::find classes test_delete_base] \
[namespace children :: test_delete_base] \
[namespace which -command test_delete_base] \
- [find objects test_delete_base*]
+ [itcl::find objects test_delete_base*]
} {{} {} {} {} {}}
# ----------------------------------------------------------------------
@@ -72,16 +77,16 @@ test delete-2.2 {create some base and derived class objects} {
for {set i 0} {$i < 3} {incr i} {
test_delete #auto
}
- lsort [find objects -isa test_delete_base]
+ lsort [itcl::find objects -isa test_delete_base]
} {test_delete0 test_delete1 test_delete2 test_delete_base0 test_delete_base1 test_delete_base2}
test delete-2.3 {delete the base class--class and all objects go away} {
- list [delete class test_delete_base] \
- [find classes test_delete*] \
+ list [itcl::delete class test_delete_base] \
+ [itcl::find classes test_delete*] \
[namespace children :: test_delete*] \
[namespace which -command test_delete_base] \
[namespace which -command test_delete] \
- [find objects test_delete*]
+ [itcl::find objects test_delete*]
} {{} {} {} {} {} {}}
test delete-2.4 {object destructors get invoked properly} {
@@ -118,16 +123,16 @@ test delete-3.2 {create some base and derived class objects} {
for {set i 0} {$i < 3} {incr i} {
test_delete #auto
}
- lsort [find objects -isa test_delete_base]
+ lsort [itcl::find objects -isa test_delete_base]
} {test_delete0 test_delete1 test_delete2 test_delete_base0 test_delete_base1 test_delete_base2}
test delete-3.3 {deleting a class namespace is like deleting a class} {
list [namespace delete test_delete_base] \
- [find classes test_delete*] \
+ [itcl::find classes test_delete*] \
[namespace children :: test_delete*] \
[namespace which -command test_delete_base] \
[namespace which -command test_delete] \
- [find objects test_delete*]
+ [itcl::find objects test_delete*]
} {{} {} {} {} {} {}}
test delete-3.4 {object destructors get invoked, even during catastrophe} {
@@ -148,7 +153,7 @@ test basic-4.1 {define a class where objects destroy themselves} {
eval $deletecommand
}
method killme {code} {
- delete object $this
+ itcl::delete object $this
eval $code
}
}
@@ -156,17 +161,17 @@ test basic-4.1 {define a class where objects destroy themselves} {
test basic-4.2 {an object can delete itself} {
set obj [test_delete #auto -x "data stays"]
- list [$obj killme {return $x}] [find objects -isa test_delete]
+ list [$obj killme {return $x}] [itcl::find objects -isa test_delete]
} {{data stays} {}}
test basic-4.3 {the "this" variable becomes null after delete} {
set obj [test_delete #auto]
- list [$obj killme {return $this}] [find objects -isa test_delete]
+ list [$obj killme {return $this}] [itcl::find objects -isa test_delete]
} {{} {}}
test basic-4.4 {an object being destructed can't be deleted} {
- set obj [test_delete #auto -deletecommand {delete object $this}]
- list [catch {delete object $obj} msg] $msg
+ set obj [test_delete #auto -deletecommand {itcl::delete object $this}]
+ list [catch {itcl::delete object $obj} msg] $msg
} {1 {can't delete an object while it is being destructed}}
namespace delete test_delete
@@ -185,20 +190,23 @@ test basic-5.1 {define a simple class} {
test basic-5.2 {delete using a qualified name} {
namespace eval test_delete2 {test_delete_name #auto}
- set cmd {delete object test_delete2::test_delete_name0}
- list [catch $cmd msg] $msg [find objects -isa test_delete_name]
+ set cmd {itcl::delete object test_delete2::test_delete_name0}
+ list [catch $cmd msg] $msg [itcl::find objects -isa test_delete_name]
} {0 {} {}}
test basic-5.3 {delete using a scoped value} {
- set obj [namespace eval test_delete2 {code [test_delete_name #auto]}]
- set cmd [list delete object $obj]
- list [catch $cmd msg] $msg [find objects -isa test_delete_name]
+ set obj [namespace eval test_delete2 {itcl::code [test_delete_name #auto]}]
+ set cmd [list itcl::delete object $obj]
+ list [catch $cmd msg] $msg [itcl::find objects -isa test_delete_name]
} {0 {} {}}
test basic-5.4 {scoped command names are decoded properly} {
- list [catch {delete object {namespace inscope ::xyzzy xxx}} msg] $msg \
- [catch {delete object {namespace inscope :: xxx yyy}} msg] $msg \
- [catch {delete object {namespace inscope :: xyzzy}} msg] $msg
+ list [catch {itcl::delete object {namespace inscope ::xyzzy xxx}} msg] $msg \
+ [catch {itcl::delete object {namespace inscope :: xxx yyy}} msg] $msg \
+ [catch {itcl::delete object {namespace inscope :: xyzzy}} msg] $msg
} {1 {unknown namespace "::xyzzy"} 1 {malformed command "namespace inscope :: xxx yyy": should be "namespace inscope namesp command"} 1 {object "namespace inscope :: xyzzy" not found}}
namespace delete test_delete_name test_delete2
+
+::tcltest::cleanupTests
+return