Index: tests/info-method.test =================================================================== diff -u -N -rf61ee3dfc17d8cf04a0dc9ada9cb0f939514a511 -r814f5382809a0d08faaf60820323b0ee4438a99b --- tests/info-method.test (.../info-method.test) (revision f61ee3dfc17d8cf04a0dc9ada9cb0f939514a511) +++ tests/info-method.test (.../info-method.test) (revision 814f5382809a0d08faaf60820323b0ee4438a99b) @@ -394,7 +394,7 @@ nx::Class create Foo ? {Foo method f args ::nx::next} "::nsf::classes::Foo::f" ? {Foo method f2 args ::nx::next} "::nsf::classes::Foo::f2" - ? {Foo filter {f f2}} "" + ? {Foo filter {f f2}} "f f2" ? {Foo info filter methods} "f f2" ? {Foo filter guard f {2 == 2}} "" ? {Foo info filter guard f} "2 == 2" Index: tests/interceptor-slot.test =================================================================== diff -u -N -r3f398b58b5e8342bf3bed0e325e29b8c811ef7e2 -r814f5382809a0d08faaf60820323b0ee4438a99b --- tests/interceptor-slot.test (.../interceptor-slot.test) (revision 3f398b58b5e8342bf3bed0e325e29b8c811ef7e2) +++ tests/interceptor-slot.test (.../interceptor-slot.test) (revision 814f5382809a0d08faaf60820323b0ee4438a99b) @@ -151,6 +151,62 @@ ? {O info precedence} "::M1 ::nx::Class ::nx::Object" } +Test case filter-relation { + nx::Class create CC { + :public method filterA args {next} + :public method filterB args {next} + :public class method filterC args {next} + :create cc { + :public method filterD args {next} + } + } + + ? {::nsf::relation cc object-filter} "" + ? {cc info filter methods} "" + ? {::nsf::relation cc object-filter filterA} filterA + ? {cc info filter methods} "filterA" + ? {cc filter filterB} "filterB" + ? {::nsf::relation cc object-filter} "filterB" + ? {cc info filter methods} "filterB" + ? {cc filter add filterD} "filterD filterB" + ? {::nsf::relation cc object-filter} "filterD filterB" + ? {cc info filter methods} "filterD filterB" + ? {cc filter delete filterB} "filterD" + ? {::nsf::relation cc object-filter} "filterD" + ? {cc info filter methods} "filterD" + ? {catch {::nsf::relation cc object-filter UNKNOWN}} 1 + ? {::nsf::relation cc object-filter} "filterD" + ? {cc info filter methods} "filterD" + + ? {::nsf::relation CC object-filter} "" + ? {CC class info filter methods} "" + ? {::nsf::relation CC object-filter filterC} "filterC" + ? {::nsf::relation CC object-filter} "filterC" + ? {CC class info filter methods} "filterC" + ? {::nsf::relation CC object-filter ""} "" + ? {::nsf::relation CC object-filter} "" + ? {CC class info filter methods} "" + + ? {::nsf::relation CC class-filter} "" + ? {CC info filter methods} "" + ? {::nsf::relation CC class-filter filterA} "filterA" + ? {::nsf::relation CC class-filter} "filterA" + ? {CC info filter methods} "filterA" + ? {CC filter add filterB} "filterB filterA" + ? {::nsf::relation CC class-filter} "filterB filterA" + ? {CC info filter methods} "filterB filterA" + ? {CC filter delete filterA} "filterB" + ? {::nsf::relation CC class-filter} "filterB" + ? {CC info filter methods} "filterB" + ? {catch {::nsf::relation CC class-filter UNKNOWN}} 1 + ? {::nsf::relation CC class-filter} "filterB" + ? {CC info filter methods} "filterB" + ? {::nsf::relation CC class-filter ""} "" + ? {::nsf::relation CC class-filter} "" + ? {CC info filter methods} "" +} + + Test parameter count 3 Test case "filter-and-creation" { Class create Foo {