%PDF- %PDF-
Direktori : /home/opti/optisoftcom/.cpanm/work/1544535406.20768/Moo-2.003004/xt/ |
Current File : /home/opti/optisoftcom/.cpanm/work/1544535406.20768/Moo-2.003004/xt/moo-object-meta-can.t |
use Moo::_strictures; use Test::More; use Test::Fatal; use Moo::Object; # See RT#84615 ok( Moo::Object->can('meta'), 'Moo::Object can meta'); is( exception { Moo::Object->meta->can('can') } , undef, "Moo::Object->meta->can doesn't explode" ); { package Example; use base 'Moo::Object'; } ok( Example->can('meta'), 'Example can meta'); is( exception { Example->meta->can('can') } , undef, "Example->meta->can doesn't explode" ); # Haarg++ noting that previously, this *also* would have died due to its absence from %Moo::Makers; { package Example_2; use Moo; has 'attr' => ( is => ro =>, ); $INC{'Example_2.pm'} = 1; } { package Example_3; use base "Example_2"; } ok( Example_2->can('meta'), 'Example_2 can meta') and do { return unless ok( Example_2->meta->can('get_all_attributes'), 'Example_2 meta can get_all_attributes' ); my (@attributes) = Example_2->meta->get_all_attributes; is( scalar @attributes, 1, 'Has one attribute' ); }; ok( Example_3->can('meta'), 'Example_3 can meta') and do { return unless is( exception { Example_3->meta->can('can') } , undef, "Example_3->meta->can doesn't explode" ); return unless ok( Example_3->meta->can('get_all_attributes'), 'Example_3 meta can get_all_attributes' ); my (@attributes) = Example_3->meta->get_all_attributes; is( scalar @attributes, 1, 'Has one attribute' ); }; done_testing;