X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F30_next_method.t;h=c4881749ad22e40c22fe13ec108f5e3c1edfe108;hb=2605e5915fb1dc1d8cd98585f16cb57d1df11c5b;hp=db724c917a4dca038242cacc205e19436b0bf9ec;hpb=8995e8271e0f7f7b9c0942a4425e8a44099bf608;p=gitmo%2FClass-C3-XS.git diff --git a/t/30_next_method.t b/t/30_next_method.t index db724c9..c488174 100644 --- a/t/30_next_method.t +++ b/t/30_next_method.t @@ -3,15 +3,9 @@ use strict; use warnings; -use Test::More tests => 6; +use Test::More tests => 5; -BEGIN { - use lib 'opt', '../opt', '..'; - use_ok('c3'); - # uncomment this line, and re-run the - # test to see the normal p5 dispatch order - #$Class::C3::TURN_OFF_C3 = 1; -} +BEGIN { use_ok('Class::C3::XS') } =pod @@ -27,19 +21,16 @@ This tests the classic diamond inheritence pattern. { package Diamond_A; - use c3; sub hello { 'Diamond_A::hello' } sub foo { 'Diamond_A::foo' } } { package Diamond_B; use base 'Diamond_A'; - use c3; sub foo { 'Diamond_B::foo => ' . (shift)->next::method() } } { package Diamond_C; - use c3; use base 'Diamond_A'; sub hello { 'Diamond_C::hello => ' . (shift)->next::method() } @@ -48,25 +39,17 @@ This tests the classic diamond inheritence pattern. { package Diamond_D; use base ('Diamond_B', 'Diamond_C'); - use c3; sub foo { 'Diamond_D::foo => ' . (shift)->next::method() } } -Class::C3::initialize(); - -is_deeply( - [ Class::C3::calculateMRO('Diamond_D') ], - [ qw(Diamond_D Diamond_B Diamond_C Diamond_A) ], - '... got the right MRO for Diamond_D'); - -is(Diamond_D->hello, 'Diamond_C::hello => Diamond_A::hello', '... method resolved itself as expected'); +is(Diamond_C->hello, 'Diamond_C::hello => Diamond_A::hello', '... method resolved itself as expected'); -is(Diamond_D->can('hello')->('Diamond_D'), +is(Diamond_C->can('hello')->('Diamond_C'), 'Diamond_C::hello => Diamond_A::hello', '... can(method) resolved itself as expected'); -is(UNIVERSAL::can("Diamond_D", 'hello')->('Diamond_D'), +is(UNIVERSAL::can("Diamond_C", 'hello')->('Diamond_C'), 'Diamond_C::hello => Diamond_A::hello', '... can(method) resolved itself as expected');