Index: tests/nsf-cmd.test =================================================================== diff -u -r982b1e8d84f71b36961ba034754f2e35e1ddb869 -rb44ba341aa4dc2d759201f6413dc2ef36eba555d --- tests/nsf-cmd.test (.../nsf-cmd.test) (revision 982b1e8d84f71b36961ba034754f2e35e1ddb869) +++ tests/nsf-cmd.test (.../nsf-cmd.test) (revision b44ba341aa4dc2d759201f6413dc2ef36eba555d) @@ -158,7 +158,7 @@ ? {bar a b} "a-b" # - # redefine bar with debug flag + # redefine "bar" with debug flag # nsf::proc -debug bar {a b} {return $a-$b} set ::handle ::bar @@ -181,27 +181,26 @@ ? {bar a b} "a-b" # - # Define a proc with zero arguments + # redefine "foo" with "-returns" checker. # - nsf::proc -debug zero {} {return 333} - set ::handle ::zero + nsf::proc ::foo {{-x 1} y:optional} -returns integer {return $y} - ? {nsf::cmd::info args $::handle} "" - ? {nsf::cmd::info body $::handle} {return 333} - ? {nsf::cmd::info definition $::handle} {::nsf::proc -debug ::zero {} {return 333}} + set ::handle ::foo + + ? {nsf::cmd::info args $::handle} "x y" + ? {nsf::cmd::info body $::handle} {return $y} + ? {nsf::cmd::info definition $::handle} {::nsf::proc ::foo {{-x 1} y:optional} -returns integer {return $y}} ? {nsf::cmd::info exists $::handle} 1 ? {nsf::cmd::info registrationhandle $::handle} "" ? {nsf::cmd::info definitionhandle $::handle} "" ? {nsf::cmd::info origin $::handle} "" - ? {nsf::cmd::info parameter $::handle} "" - ? {nsf::cmd::info syntax $::handle} {} + ? {nsf::cmd::info parameter $::handle} "{-x 1} y:optional" + ? {nsf::cmd::info syntax $::handle} {?-x /value/? ?/y/?} ? {nsf::cmd::info type $::handle} "nsfproc" ? {nsf::cmd::info precondition $::handle} "" ? {nsf::cmd::info postcondition $::handle} "" ? {nsf::cmd::info submethods $::handle} "" - ? {nsf::cmd::info returns $::handle} "" - ? {nsf::method::property ::nx::Object $handle debug 1} 1 - ? {zero} "333" + ? {nsf::cmd::info returns $::handle} "integer" # # A Tcl cmd implemented in C @@ -293,7 +292,7 @@ {expected object but got "::TestMe" for parameter "object"} nx::Class create ::TestMe - + ? {::nsf::method::property ::TestMe -per-object missing call-protected true} \ {cannot lookup object method 'missing' for ::TestMe} ? {::nsf::method::property ::TestMe missing call-protected true} \ @@ -526,7 +525,7 @@ } else { ? {::ns1::foo -x ok} {invalid command name "::ns1::foo"} } - + nsf::proc ::ns1::foo { {-x:required} } { return 1-$x } @@ -549,7 +548,7 @@ } else { ? {::ns1::foo -x ok} {invalid command name "::ns1::foo"} } - + namespace eval ::ns1 {} } @@ -559,47 +558,47 @@ ? {info commands ::nsf::procs::ns1::foo} "" ? {info procs ::ns1::foo} "" ? {info procs ::nsf::procs::ns1::foo} "" - + if {${::tcl86}} { ? {::ns1::foo -x ok} {TCL LOOKUP COMMAND ::ns1::foo} {invalid command name "::ns1::foo"} } else { ? {::ns1::foo -x ok} {invalid command name "::ns1::foo"} } - + nsf::proc ::ns1::foo { {-x:required} } { return 1-$x } ? {info commands ::ns1::foo} "::ns1::foo" ? {info commands ::nsf::procs::ns1::foo} "::nsf::procs::ns1::foo" ? {info procs ::ns1::foo} "" ? {info procs ::nsf::procs::ns1::foo} "::nsf::procs::ns1::foo" - + ? {::ns1::foo -x ok} "1-ok" - + namespace delete ::ns1 - + ? {info commands ::ns1::foo} "" ? {info commands ::nsf::procs::ns1::foo} "" ? {info procs ::ns1::foo} "" ? {info procs ::nsf::procs::ns1::foo} "" - + if {${::tcl86}} { ? {::ns1::foo -x ok} {TCL LOOKUP COMMAND ::ns1::foo} {invalid command name "::ns1::foo"} } else { ? {::ns1::foo -x ok} {invalid command name "::ns1::foo"} } - + } nx::test case nsf-proc-rename-redefine { namespace eval ::ns1 {} - + nsf::proc ns1::foo { {-x:required} } { return 1-$x } ? {ns1::foo -x ok} 1-ok - + rename ns1::foo ns1::foo.orig nsf::proc ns1::foo { @@ -613,13 +612,13 @@ nx::test case nsf-proc-rename-redefine-call { namespace eval ::ns1 {} - + nsf::proc ns1::foo { {-x:required} } { return 1-$x } ? {ns1::foo -x ok} 1-ok - + rename ns1::foo ns1::foo.orig nsf::proc ns1::foo { @@ -645,7 +644,7 @@ } else { ? {::ns1::foo -x ok} {invalid command name "::ns1::foo"} } - + nsf::proc ::ns1::foo { {-x:required} } { return 1-$x } @@ -677,7 +676,7 @@ } else { ? {::ns1::foo -x ok} {invalid command name "::ns1::foo"} } - + namespace eval ::ns1 {} } @@ -693,7 +692,7 @@ } else { ? {::ns1::foo -x ok} {invalid command name "::ns1::foo"} } - + nsf::proc ::ns1::foo { {-x:required} } { return 1-$x } @@ -711,7 +710,7 @@ ? {info commands ::nsf::procs::ns1::foo} "::nsf::procs::ns1::foo" ? {info procs ::ns1::foo} "" ? {info procs ::nsf::procs::ns1::foo} "" - + ? {::ns1::foo -x ok} \ {command '::nsf::procs::ns1::foo' is not a proc} @@ -728,7 +727,7 @@ } else { ? {::ns1::foo -x ok} {invalid command name "::ns1::foo"} } - + namespace eval ::ns1 {} rename ::nsf::procs::ns1::foo "" } @@ -737,12 +736,12 @@ namespace eval ::ns1 {} ? {info commands ::ns1::foo} "" ? {info commands ::nsf::procs::ns1::foo} "" - + proc ::nsf::procs::ns1::foo {x} { return 0-$x} ? {info commands ::ns1::foo} "" ? {info commands ::nsf::procs::ns1::foo} "::nsf::procs::ns1::foo" - + ? {nsf::proc ::ns1::foo { {-x:required} } { return 1-$x }} "" @@ -756,12 +755,12 @@ namespace eval ::ns1 {} ? {info commands ::ns1::foo} "" ? {info commands ::nsf::procs::ns1::foo} "" - + proc ::nsf::procs::ns1::foo.orig {x} { return 0-$x} ? {info commands ::ns1::foo.orig} "" ? {info commands ::nsf::procs::ns1::foo.orig} "::nsf::procs::ns1::foo.orig" - + ? {nsf::proc ::ns1::foo { {-x:required} } { return 1-$x }} "" @@ -773,8 +772,8 @@ } else { ? {rename ns1::foo ns1::foo.orig} {can't rename to "::nsf::procs::ns1::foo.orig": command already exists} } - + namespace delete ::ns1 }