Index: tests/info-method.test =================================================================== diff -u -r4e0a14b67ffc6ac5087eacf53207f877c33d599f -rbd69e3a318c530a893bcf86b2d6d41f7064d3c07 --- tests/info-method.test (.../info-method.test) (revision 4e0a14b67ffc6ac5087eacf53207f877c33d599f) +++ tests/info-method.test (.../info-method.test) (revision bd69e3a318c530a893bcf86b2d6d41f7064d3c07) @@ -3,7 +3,63 @@ ::nx::configure defaultMethodCallProtection false package require nx::test -nx::Test case base { +# +# Test info superclass with closure and patterns (with and without +# wildcards, prefixed or not, success or not). +# +nx::Test case info-superclass { + nx::Class create C + nx::Class create D -superclass C + + # no patterns + ? {D info superclass} "::C" + ? {D info superclass -closure} "::C ::nx::Object" + + # fully qualified pattern, no wild-card characters, success + ? {D info superclass ::C} "::C" + ? {D info superclass -closure ::C} "::C" + + # unprefixed pattern, no wild-card characters, success + ? {D info superclass C} "::C" + ? {D info superclass -closure C} "::C" + + # fully qualified pattern, no wild-card characters, no success + ? {D info superclass ::D} "" + ? {D info superclass -closure ::D} "" + ? {D info superclass ::Dx} "" + ? {D info superclass -closure ::Dx} "" + + # unprefixed pattern, no wild-card characters, no success + ? {D info superclass D} "" + ? {D info superclass -closure D} "" + ? {D info superclass Dx} "" + ? {D info superclass -closure Dx} "" + + # fully qualified pattern, wild-card characters, success + ? {D info superclass ::*} "::C" + ? {D info superclass -closure ::C*} "::C" + ? {D info superclass -closure ::*} "::C ::nx::Object" + ? {D info superclass -closure ::nx*} "::nx::Object" + + # unprefixed pattern, wild-card characters, success + ? {D info superclass C*} "::C" + ? {D info superclass -closure *} "::C ::nx::Object" + ? {D info superclass -closure nx*} "::nx::Object" + + # fully qualified pattern, wild-card characters, no success + ? {D info superclass ::*D} "" + ? {D info superclass -closure ::*D} "" + + # unprefixed pattern, wild-card characters, no success + ? {D info superclass C*x} "" + ? {D info superclass -closure C*x} "" +} + +# +# Test "info method", base cases +# + +nx::Test case info-method-base { nx::Object create o { :alias set ::set }