Index: tests/info-method.test =================================================================== diff -u -rd62bca12731d1c7a1a5cf63f950275852c5b05a2 -ra390a38437dec2a7c3461f9fadef108ebf74b928 --- tests/info-method.test (.../info-method.test) (revision d62bca12731d1c7a1a5cf63f950275852c5b05a2) +++ tests/info-method.test (.../info-method.test) (revision a390a38437dec2a7c3461f9fadef108ebf74b928) @@ -983,4 +983,43 @@ ? {set implHandle [o public method "foo bar" {x} {;}]} "::o::foo::bar" ? {set regHandle [o info method handle "foo bar"]} "::o::foo bar" ? {set origin [o info method origin "foo bar"]} "::o::foo::bar" +} + +# +# test "info methods -closure" +# + +nx::Test case info-methods-closure { + nx::Class create C { + :public method c1 {} {...} + :method c2 {} {...} + } + + nx::Class create D -superclass C { + :public method c1 {} {...} + :public method d1 {} {...} + :method d2 {} {...} + } + + nx::Class create M { + :public method m1 {} {...} + :method m2 {} {...} + } + + ? {D info methods} "c1 d1 d2" + + # + # info methods -closure lists instance methods + # + ? {D info methods -closure *2} "d2 c2" + ? {D info methods -closure -source application} "c1 d1 d2 c2" + + D mixin M + + # + # Check as well methods inherited from per-class mixins + # + ? {D info methods} "c1 d1 d2" + ? {D info methods -closure *2} "m2 d2 c2" + ? {D info methods -closure -source application} "m1 m2 c1 d1 d2 c2" } \ No newline at end of file