Index: TODO =================================================================== diff -u -re70ae3f77d1a4c644b233fcb782d0f71d2eae430 -r570b3538965101b43ca08cf3c23a3acd826c14df --- TODO (.../TODO) (revision e70ae3f77d1a4c644b233fcb782d0f71d2eae430) +++ TODO (.../TODO) (revision 570b3538965101b43ca08cf3c23a3acd826c14df) @@ -2244,6 +2244,7 @@ Approach 2: use parameter forwarder Approach 3: use parameter alias we switched from approach 1 to approach 3 +- extended regression test TODO: Index: tests/parameters.test =================================================================== diff -u -raedc1032110ff312eab8b83878d10a9e6ae401e7 -r570b3538965101b43ca08cf3c23a3acd826c14df --- tests/parameters.test (.../parameters.test) (revision aedc1032110ff312eab8b83878d10a9e6ae401e7) +++ tests/parameters.test (.../parameters.test) (revision 570b3538965101b43ca08cf3c23a3acd826c14df) @@ -1496,3 +1496,24 @@ ? {cc user_id} 456 } +# +# Test parameter alias and parameter forwarder +# +Test case parameter-without-data { + + Class create C { + :attribute {x:alias} + :attribute {A:alias,arg=bar} + :attribute {{F:forward,arg=%self foo %1 a b c %method}} + :attribute {D def} + :public method x args {set :x $args} + :public method foo args {set :foo $args} + :public method bar args {set :bar $args} + :create c1 -F 123 -x x1 -A aha + } + + ? {c1 eval {set :x}} "x1" + ? {c1 eval {set :foo}} "123 a b c F" + ? {c1 eval {set :bar}} "aha" + ? {lsort [c1 info lookup methods -source application]} "D bar foo x" +}