Index: tests/info-method.test =================================================================== diff -u -r2f793442bb2a7860acc5620811dcafddc43074d3 -r99c7e7c4351ea0c17971fa41bd5d3c0f5a4c0321 --- tests/info-method.test (.../info-method.test) (revision 2f793442bb2a7860acc5620811dcafddc43074d3) +++ tests/info-method.test (.../info-method.test) (revision 99c7e7c4351ea0c17971fa41bd5d3c0f5a4c0321) @@ -913,10 +913,18 @@ Class create M # circular case - B mixin set C - C mixin set B + ? {B mixin set C} "::C" + ? {C mixin get} "" + + #? {C mixin set B} "classes dependent on ::C contain a cycle" + #? {C mixin get} "" ;# make sure, the mixin list of C was reset + + ? {C mixin set B} "::B" + ? {C mixin get} "::B" + ? {B info heritage} "::C ::A ::O ::nx::Object" ? {C info heritage} "::B ::A ::O ::nx::Object" + #? {C info heritage} "::A ::O ::nx::Object" ? {D info heritage} "::A ::O ::nx::Object" # reset @@ -928,9 +936,16 @@ # indirect circular case B mixin set C - C mixin set BB + ? {C mixin get} "" + + ? {C mixin set BB} "::BB" + #? {C mixin set BB} "classes dependent on ::C contain a cycle" + #? {C mixin get} "" + ? {B info heritage} "::BB ::C ::A ::O ::nx::Object" ? {C info heritage} "::BB ::B ::A ::O ::nx::Object" + #? {B info heritage} "::C ::A ::O ::nx::Object" + #? {C info heritage} "::A ::O ::nx::Object" ? {D info heritage} "::A ::O ::nx::Object" # reset @@ -940,22 +955,28 @@ ? {C info heritage} "::A ::O ::nx::Object" ? {D info heritage} "::A ::O ::nx::Object" - M3 mixin set B + ? {M3 mixin set B} ::B ? {A info heritage} "::O ::nx::Object" ? {B info heritage} "::A ::O ::nx::Object" ? {M3 info heritage} "::B ::A ::O ::nx::Object" - A mixin set M3 - + ? {A mixin set M3} "::M3" ? {A info heritage} "::B ::M3 ::O ::nx::Object" ? {B info heritage} "::M3 ::A ::O ::nx::Object" - M3 create m1 + #? {A mixin set M3} "classes dependent on ::A contain a cycle" + #? {A info heritage} "::O ::nx::Object" + #? {B info heritage} "::A ::O ::nx::Object" + + ? {M3 create m1} ::m1 ? {m1 info precedence} "::B ::A ::O ::M3 ::nx::Object" ? {M3 info heritage} "::B ::A ::O ::nx::Object" - B mixin set M3 + ? {B mixin set M3} ::M3 ? {B info heritage} "::M3 ::A ::O ::nx::Object" + + #? {B mixin set M3} {classes dependent on ::B contain a cycle} + #? {B info heritage} "::A ::O ::nx::Object" } #