X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F050_metaclasses%2F015_metarole.t;fp=t%2F050_metaclasses%2F015_metarole.t;h=73531648abeece7aefc3965a669e1eba1a1a2480;hb=8f05895e370956a770680e226e63ed1ce4f2fc5a;hp=6d5d4594eb415cb4f24c0c8df94ff354757a0a76;hpb=f19fba5946ee76b04f30eac3d6f30b5a17477b96;p=gitmo%2FMoose.git diff --git a/t/050_metaclasses/015_metarole.t b/t/050_metaclasses/015_metarole.t index 6d5d459..7353164 100644 --- a/t/050_metaclasses/015_metarole.t +++ b/t/050_metaclasses/015_metarole.t @@ -3,7 +3,7 @@ use strict; use warnings; -use Test::More tests => 69; +use Test::More tests => 71; use Moose::Util::MetaRole; @@ -444,3 +444,29 @@ use Moose::Util::MetaRole; ok( My::Class10->meta()->isa('My::Meta::Class2'), q{... and My::Class10->meta still isa(My::Meta::Class2)} ); } + +{ + package My::Constructor; + + use base 'Moose::Meta::Method::Constructor'; +} + +{ + package My::Class11; + + use Moose; + + __PACKAGE__->meta->constructor_class('My::Constructor'); + + Moose::Util::MetaRole::apply_metaclass_roles( + for_class => 'My::Class11', + metaclass_roles => ['Role::Foo'], + ); +} + +{ + ok( My::Class11->meta()->meta()->does_role('Role::Foo'), + q{My::Class11->meta()->meta() does Role::Foo } ); + is( My::Class11->meta()->constructor_class, 'My::Constructor', + q{... and explicitly set constructor_class value is unchanged)} ); +}