diff options
author | dgp <dgp@users.sourceforge.net> | 2017-10-30 12:02:48 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2017-10-30 12:02:48 (GMT) |
commit | 2ff3ecb5341d0f53ebff051ad63dd6a8dd619234 (patch) | |
tree | 87df859f9bc8b8e433341815488247a507ddad13 /tests | |
parent | bed6e18d15292fd0a3338c4af37bdf7a03e2c1ad (diff) | |
parent | e0578530b062a38b3fe7dfd1474dd3caa927c271 (diff) | |
download | tcl-2ff3ecb5341d0f53ebff051ad63dd6a8dd619234.zip tcl-2ff3ecb5341d0f53ebff051ad63dd6a8dd619234.tar.gz tcl-2ff3ecb5341d0f53ebff051ad63dd6a8dd619234.tar.bz2 |
merge trunk
Diffstat (limited to 'tests')
-rw-r--r-- | tests/assemble.test | 2 | ||||
-rw-r--r-- | tests/execute.test | 6 | ||||
-rw-r--r-- | tests/oo.test | 12 | ||||
-rw-r--r-- | tests/platform.test | 4 | ||||
-rw-r--r-- | tests/resolver.test | 9 |
5 files changed, 22 insertions, 11 deletions
diff --git a/tests/assemble.test b/tests/assemble.test index d17bfd9..6e5308d 100644 --- a/tests/assemble.test +++ b/tests/assemble.test @@ -852,7 +852,7 @@ test assemble-8.5 {bad context} { -body { namespace eval assem { set x 1 - list [catch {assemble {load x}} result] $result $errorCode + list [catch {assemble {load x}} result opts] $result [dict get $opts -errorcode] } } -result {1 {cannot use this instruction to create a variable in a non-proc context} {TCL ASSEM LVT}} diff --git a/tests/execute.test b/tests/execute.test index 5b8ce2d..6c277f8 100644 --- a/tests/execute.test +++ b/tests/execute.test @@ -724,7 +724,7 @@ test execute-6.14 {Tcl_ExprObj: exprcode context validation} -setup { } set result {} lappend result [expr $e] - lappend result [namespace eval foo {expr $e}] + lappend result [namespace eval foo [list expr $e]] } -cleanup { namespace delete foo } -result {1 2} @@ -733,11 +733,11 @@ test execute-6.15 {Tcl_ExprObj: exprcode name resolution epoch validation} -setu } -body { set e { [llength {}]+1 } set result {} - lappend result [namespace eval foo {expr $e}] + lappend result [namespace eval foo [list expr $e]] namespace eval foo { proc llength {args} {return 1} } - lappend result [namespace eval foo {expr $e}] + lappend result [namespace eval foo [list expr $e]] } -cleanup { namespace delete foo } -result {1 2} diff --git a/tests/oo.test b/tests/oo.test index 54c4b75..6413094 100644 --- a/tests/oo.test +++ b/tests/oo.test @@ -1482,6 +1482,18 @@ test oo-11.4 {OO: cleanup} { lappend result [bar0 destroy] [oo::object create foo] [foo destroy] \ [oo::object create bar2] [bar2 destroy] } {1 {can't create object "foo": command already exists with that name} destroyed {} ::foo {} ::bar2 {}} +test oo-11.5 {OO: cleanup} { + oo::class create obj1 + + trace add command obj1 delete {apply {{name1 name2 action} { + set namespace [info object namespace $name1] + namespace delete $namespace + }}} + + rename obj1 {} + # No segmentation fault + return done +} done test oo-12.1 {OO: filters} { oo::class create Aclass diff --git a/tests/platform.test b/tests/platform.test index 5838a41..8a68351 100644 --- a/tests/platform.test +++ b/tests/platform.test @@ -16,7 +16,9 @@ namespace eval ::tcl::test::platform { namespace import ::tcltest::test namespace import ::tcltest::cleanupTests - variable ::tcl_platform + # This is not how [variable] works. See TIP 276. + #variable ::tcl_platform + namespace upvar :: tcl_platform tcl_platform ::tcltest::loadTestedCommands catch [list package require -exact Tcltest [info patchlevel]] diff --git a/tests/resolver.test b/tests/resolver.test index 9bb4c08..b0b395d 100644 --- a/tests/resolver.test +++ b/tests/resolver.test @@ -139,13 +139,10 @@ test resolver-1.5 {cmdNameObj sharing vs. cmd resolver: other than global NS} -s variable r2 "" } } -constraints testinterpresolver -body { - set r0 [namespace eval ::ns2 {x}] - set r1 [namespace eval ::ns2 {z}] - namespace eval ::ns2 { + list [namespace eval ::ns2 {x}] [namespace eval ::ns2 {z}] [namespace eval ::ns2 { namespace import ::ns1::z - set r2 [z] - } - list $r0 $r1 $r2 + z + }] } -cleanup { testinterpresolver down namespace delete ::ns2 |