Index: tests/object-system.test =================================================================== diff -u -r7a1cdfcb9fbb66d49d824aa1c12547be59f590c2 -r4bc60e16c10fdbbb640b3019d4bdebdc469fdf55 --- tests/object-system.test (.../object-system.test) (revision 7a1cdfcb9fbb66d49d824aa1c12547be59f590c2) +++ tests/object-system.test (.../object-system.test) (revision 4bc60e16c10fdbbb640b3019d4bdebdc469fdf55) @@ -1,5 +1,6 @@ # -*- Tcl -*- package require nx + ::nsf::configure dtrace on # @@ -161,14 +162,13 @@ # tests for dispatching methods # nx::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} -o public method bar7 {} {return bar7-[lsort [: -system info methods bar7]]} +o public object method foo {} {return foo} +o public object method bar1 {} {return bar1-[:foo]} +o public object method bar2 {} {return bar2-[: foo]} +o public object method bar4 {} {return bar4-[[self] foo]} +o public object method bar5 {} {return [self]::bar5} +o public object method bar6 {} {return [:]::bar6} +o public object method bar7 {} {return bar7-[lsort [: -system info object methods bar7]]} # dispatch without colon names ? {o foo} foo "simple method dispatch" @@ -193,9 +193,10 @@ #? {C::slot info vars} __parameter #? {C info attributes} {{x 1} {y 2}} -? {C info parameter definitions x} {{-x 1}} -? {C info parameter definitions y} {{-y 2}} +? {C info configure parameters x} {{-x 1}} +? {C info configure parameters y} {{-y 2}} + ? {C copy X} ::X ? {::nsf::object::exists X} 1 ? {X info vars} "" @@ -212,34 +213,34 @@ #? {X::slot info vars} __parameter -? {X info parameter definitions ?} {{-x 1} {-y 2}} -? {X info parameter definitions x} {{-x 1}} -? {X info parameter definitions y} {{-y 2}} +? {X info configure parameters ?} {{-x 1} {-y 2}} +? {X info configure parameters x} {{-x 1}} +? {X info configure parameters y} {{-y 2}} #? {X info properties} {{x 1} {y 2}} #? {X info properties -closure *a*} {volatile:alias,noarg class:class,alias,method=::nsf::methods::object::class} # actually, we want c1 to test below the recreation of c1 in another # object system ? {C create c1} ::c1 -? {C create c2 {:method foo {} {;}}} ::c2 +? {C create c2 {:object method foo {} {;}}} ::c2 # # check low level method creation on classes, and check C-level # "-flag=value" handling # nsf::method::create ::C m1 {} {;} -? {lsort [::C ::nsf::methods::class::info::methods]} {m1 x y} +? {lsort [::C ::nsf::methods::class::info::methods]} {m1} nsf::method::create ::C -per-object=false m2 {} {;} -? {lsort [::C ::nsf::methods::class::info::methods]} {m1 m2 x y} +? {lsort [::C ::nsf::methods::class::info::methods]} {m1 m2} nsf::method::create ::C -per-object=true m3 {} {;} ? {lsort [::C ::nsf::methods::object::info::methods]} {m3} # # tests for the dispatch command # nx::Object create o -o method foo {} {return goo} -o method bar {x} {return goo-$x} +o object method foo {} {return goo} +o object method bar {x} {return goo-$x} # dispatch without colon names ::nsf::dispatch o eval set :x 1 @@ -259,7 +260,7 @@ o destroy nx::Object create o { - :public method foo {} { + :public object method foo {} { foreach var [list x1 y1 x2 y2 x3 y3] { lappend results $var [info exists :$var] } @@ -379,7 +380,7 @@ ? {catch {nx::Object create foo}} 1 rename foo "" nx::Object create foo { - :method bar {} {;} + :object method bar {} {;} # # Don't allow subobject to overwrite object specific method # @@ -390,13 +391,13 @@ # # Don't allow child-object to be overwritten by object specific cmd # - ? {catch {:forward bar somethingelse}} 1 + ? {catch {:object forward bar somethingelse}} 1 ? {nsf::object::exists [self]::bar} 1 # # Don't allow child-object to be overwritten by object specific # scripted method # - ? {catch {:method bar {} {;}}} 1 + ? {catch {:object method bar {} {;}}} 1 ? {nsf::object::exists [self]::bar} 1 } @@ -418,5 +419,20 @@ ? {C create c1} ::c1 ? {A info instances -closure} ::c1 -puts stderr ===EXIT + + +::nsf::configure keepcmds 1 +::nx::Object create o {set :x 1} +? {o info vars} "x __cmd" +? {o eval {array get :__cmd}} "__initblock {set :x 1}" + ::nsf::configure dtrace off + +puts stderr "===EXIT [info script]" + +# +# Local variables: +# mode: tcl +# tcl-indent-level: 2 +# indent-tabs-mode: nil +# End: