Index: tests/info-method.test =================================================================== diff -u -re02cb00ae815bd6f8561a6a03fceacc13fd91903 -r5016c5d2fee323133f57ad401f1aa4f9d927cd2a --- tests/info-method.test (.../info-method.test) (revision e02cb00ae815bd6f8561a6a03fceacc13fd91903) +++ tests/info-method.test (.../info-method.test) (revision 5016c5d2fee323133f57ad401f1aa4f9d927cd2a) @@ -408,4 +408,39 @@ ? {::nx::Object info method parametersyntax ::nx::next} "?arguments?" ? {::nx::Object info method parametersyntax ::nsf::xotclnext} "?--noArgs? ?arg ...?" +} + +nx::Test case info-heritage { + Class create A + Class create B -superclass A + Class create M1 + Class create M2 -superclass A + Class create M3 + + ? {A info heritage} "::nx::Object" + ? {B info heritage} "::A ::nx::Object" + ? {M1 info heritage} "::nx::Object" + ? {M2 info heritage} "::A ::nx::Object" + + B mixin add M1 + + ? {A info heritage} "::nx::Object" + ? {B info heritage} "::M1 ::A ::nx::Object" + + B mixin M2 + ? {A info heritage} "::nx::Object" + ? {B info heritage} "::M2 ::A ::nx::Object" + + B mixin A + ? {A info heritage} "::nx::Object" + ? {B info heritage} "::A ::nx::Object" + + M3 mixin B + ? {B info heritage} "::A ::nx::Object" + + A mixin M3 + ? {A info heritage} "::M3 ::B ::M3 ::nx::Object" + + B mixin M3 + ? {B info heritage} "::M3 ::M3 ::M3 ::M3 ::M3 ::M3 ::A ::nx::Object" } \ No newline at end of file