X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F020_attributes%2F011_more_attr_delegation.t;h=18b8fc11ba2b9997ba5b03fd50377622b73a1b83;hb=ad3882b59692e4e4eab99f9b183c941e6f63d3bd;hp=51a5d6e4716dcfc88aad0db5f3fd25389dfab952;hpb=575ca97412cccdd0bce12c61df9e4c3ba8bb334a;p=gitmo%2FMoose.git diff --git a/t/020_attributes/011_more_attr_delegation.t b/t/020_attributes/011_more_attr_delegation.t index 51a5d6e..18b8fc1 100644 --- a/t/020_attributes/011_more_attr_delegation.t +++ b/t/020_attributes/011_more_attr_delegation.t @@ -3,7 +3,7 @@ use strict; use warnings; -use Test::More tests => 43; +use Test::More; use Test::Exception; =pod @@ -92,6 +92,7 @@ do not fail at compile time. use Moose; sub parent_method_1 { "parent_1" } + ::can_ok('Parent', 'parent_method_1'); ::dies_ok { has child_a => ( @@ -181,6 +182,7 @@ do not fail at compile time. ); } "can delegate to object even without explicit reader"; + ::can_ok('Parent', 'parent_method_1'); ::dies_ok { has child_h => ( isa => "ChildH", @@ -189,6 +191,7 @@ do not fail at compile time. handles => sub { map { $_, $_ } $_[1]->get_all_method_names }, ); } "Can't override exisiting class method in delegate"; + ::can_ok('Parent', 'parent_method_1'); ::lives_ok { has child_i => ( @@ -196,7 +199,7 @@ do not fail at compile time. is => "ro", default => sub { ChildI->new }, handles => sub { - map { $_, $_ } grep { !/^parent_method_1$/ } + map { $_, $_ } grep { !/^parent_method_1|meta$/ } $_[1]->get_all_method_names; }, ); @@ -253,3 +256,8 @@ is( $p->child_e_method_2, "e2", "delegate to non moose class (child_e_method_2)" can_ok( $p, "child_g_method_1" ); is( $p->child_g_method_1, "g1", "delegate to moose class without reader (child_g_method_1)" ); + +can_ok( $p, "child_i_method_1" ); +is( $p->parent_method_1, "parent_1", "delegate doesn't override existing method" ); + +done_testing;