Index: tests/varresolutiontest.xotcl =================================================================== diff -u -r815c11d71dff9a1af0f2c48e1be2f58e201dad6a -r50795c66c8a80091cfd160fd48aee2cf2381ca47 --- tests/varresolutiontest.xotcl (.../varresolutiontest.xotcl) (revision 815c11d71dff9a1af0f2c48e1be2f58e201dad6a) +++ tests/varresolutiontest.xotcl (.../varresolutiontest.xotcl) (revision 50795c66c8a80091cfd160fd48aee2cf2381ca47) @@ -247,7 +247,8 @@ ############################################### # tests for the var resolver -###############################################Class C +############################################### +Class C C method bar0 {} {return ${.x}} C method bar1 {} {set a ${.x}; return [info exists .x],[info exists .y]} C method bar2 {} {return [info exists .x],[info exists .y]} @@ -265,4 +266,26 @@ c1 foo ? {lsort [c1 info vars]} "a x z" "array variable set via resolver" ? {lsort [c1 array names a]} "a b c" "array looks ok" -puts stderr ===EXIT + +############################################### +# first tests for the cmd resolver +############################################### +Class C +C method bar {args} { + #puts stderr "[self] bar called with [list $args]" + return $args +} +C instforward test %self bar +C method foo {} { + # this works + lappend .r [.bar x 1] + lappend .r [.test a b c] + # these kind of works, but vars are nowhere.... + .set x 1 + .incr x 1 + .incr x 1 + return [lappend .r ${.x}] +} +C create c3 +? {c3 foo} "{x 1} {a b c} 3" +