Index: tests/object-system.test =================================================================== diff -u -r8046b1da6bc0689f73d4dbdc3f8d1e03fd23acaf -rc7686b76eff01e25abf042d5b4fa2dfa998b22f1 --- tests/object-system.test (.../object-system.test) (revision 8046b1da6bc0689f73d4dbdc3f8d1e03fd23acaf) +++ tests/object-system.test (.../object-system.test) (revision c7686b76eff01e25abf042d5b4fa2dfa998b22f1) @@ -110,6 +110,29 @@ ? {::nsf::is metaclass c1} 0 ? {c1 info class} ::nx::Object + +# +# tests for dispatching methods +# +Object create o +o public method foo {} {return foo} +o public method bar1 {} {return bar1-[:foo]} +o public method bar2 {} {return bar2-[: foo]} +o public method bar3 {} {return bar3-[my foo]} +o public method bar4 {} {return bar4-[[self] foo]} +o public method bar5 {} {return [self]::bar5} +o public method bar6 {} {return [:]::bar6} + +# dispatch without colon names +? {o foo} foo "simple method dispatch" +? {o bar1} bar1-foo "colon-methodname dispatch" +? {o bar2} bar2-foo "colon cmd dispatch" +? {o bar3} bar3-foo "my dispatch" +? {o bar4} bar4-foo "self dispatch" +? {o bar5} ::o::bar5 "self cmd" +? {o bar6} ::o::bar6 "colon cmd" +o destroy + # basic attributes tests Class create C {