Index: tests/forward.test =================================================================== diff -u -N -r5ab2ad98d7e3d8509a26ea32ec64fa9cc78af2f8 -r1d2bdbea2141f159f982e8dde0f9b0a6778a8b71 --- tests/forward.test (.../forward.test) (revision 5ab2ad98d7e3d8509a26ea32ec64fa9cc78af2f8) +++ tests/forward.test (.../forward.test) (revision 1d2bdbea2141f159f982e8dde0f9b0a6778a8b71) @@ -2,6 +2,8 @@ package require nx package require nx::test +set ::tcl86 [package vsatisfies [package req Tcl] 8.6] + ########################################### # trivial object delegation ########################################### @@ -271,7 +273,11 @@ ? {obj info object methods foo} "" obj public object forward ::ns1::foo ? {obj info object methods foo} "foo" - ? {obj foo X} {TCL LOOKUP COMMAND ::ns1::foo} "invalid target command" + if {$::tcl86} { + ? {obj foo X} {TCL LOOKUP COMMAND ::ns1::foo} "invalid target command" + } else { + ? {obj foo X} {invalid command name "::ns1::foo"} "invalid target command" + } namespace eval ::ns1 {proc foo {p} {return $p}} ? {obj foo X} "X" obj public object forward ::ns1::foo %method %method @@ -354,7 +360,11 @@ ? {obj foo 1 2 3} [list 1 2 3 %] obj public object forward foo list {%obj foo} - ? {obj foo 1 2 3} "TCL LIMIT STACK" "stack overflow" + if {$::tcl86} { + ? {obj foo 1 2 3} "TCL LIMIT STACK" "stack overflow" + } else { + ? {obj foo 1 2 3} {too many nested evaluations (infinite loop?)} "stack overflow" + } obj public object forward foo list {%apply {{x} {return $x}} A} ? {obj foo 1 2 3} [list A 1 2 3] @@ -376,7 +386,11 @@ ## obj public object forward foo list {%@end %::proc} - ? {obj foo 1 2 3} {TCL WRONGARGS} "provided wrong arguments for target command" + if {$::tcl86} { + ? {obj foo 1 2 3} {TCL WRONGARGS} "provided wrong arguments for target command" + } else { + ? {obj foo 1 2 3} {wrong # args: should be "::proc name args body"} "provided wrong arguments for target command" + } # the next test does not work unless called from nxsh, which imports ::nx::self # obj public object forward foo list {%@end %::self} @@ -386,14 +400,22 @@ ? {obj foo 1 2 3} [list 1 2 3 ::obj] "fully qualified self" obj public object forward foo list {%@end %::1} - ? {obj foo 1 2 3} {TCL LOOKUP COMMAND ::1} "forward to non-existing object" + if {$::tcl86} { + ? {obj foo 1 2 3} {TCL LOOKUP COMMAND ::1} "forward to non-existing object" + } else { + ? {obj foo 1 2 3} {invalid command name "::1"} "forward to non-existing object" + } ## ## position prefixes are interpreted in a context-dependent manner: ## obj public object forward foo list {%@1 %@1} - ? {obj foo 1 2 3} {TCL LOOKUP COMMAND @1} "forward to non-existing cmd" + if {$::tcl86} { + ? {obj foo 1 2 3} {TCL LOOKUP COMMAND @1} "forward to non-existing cmd" + } else { + ? {obj foo 1 2 3} {invalid command name "@1"} "forward to non-existing cmd" + } if {![string length "ISSUES"]} {