X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=t%2F001_mouse%2F063-meta-of-metaclasses.t;fp=t%2F001_mouse%2F063-meta-of-metaclasses.t;h=8ef6294781b95b50ddb129938931d60473baa586;hp=9aa2e3b61c5cb0a2df6695f45e59fceee87084ce;hb=3821b191b0493223e0f67b05ad351e3753fcfc66;hpb=34c8209c4eac1f2f710e1523ef3b3a248f7a08c8 diff --git a/t/001_mouse/063-meta-of-metaclasses.t b/t/001_mouse/063-meta-of-metaclasses.t index 9aa2e3b..8ef6294 100644 --- a/t/001_mouse/063-meta-of-metaclasses.t +++ b/t/001_mouse/063-meta-of-metaclasses.t @@ -2,17 +2,41 @@ use strict; use warnings; -use Test::More tests => 6; +use Test::More tests => 10; -use Mouse (); +{ + package Class; + use Mouse; -can_ok('Mouse::Meta::Class', 'meta'); -can_ok('Mouse::Meta::Role', 'meta'); + has foo => (is => 'rw'); -my $meta = Mouse::Meta::Class->meta; -can_ok($meta->constructor_class, 'meta'); -can_ok($meta->destructor_class, 'meta'); -can_ok($meta->attribute_metaclass, 'meta'); + __PACKAGE__->meta->make_immutable; # ensure metaclasses loaded -can_ok($meta->get_method('is_anon_class'), 'meta'); + package Role; + use Mouse::Role; + sub bar {} +} + +{ + my $metaclass = Class->meta; + + can_ok($metaclass, 'meta'); + + can_ok($metaclass->constructor_class, 'meta'); + can_ok($metaclass->destructor_class, 'meta'); + can_ok($metaclass->attribute_metaclass, 'meta'); + + can_ok($metaclass->get_method('foo'), 'meta'); + can_ok($metaclass->get_attribute('foo'), 'meta'); + can_ok($metaclass->get_attribute('foo')->accessor_metaclass, 'meta'); + can_ok($metaclass->get_attribute('foo')->delegation_metaclass, 'meta'); +} + +{ + my $metarole = Class->meta; + + can_ok($metarole, 'meta'); + + can_ok($metarole->get_method('foo'), 'meta'); +}