Commit | Line | Data |
b4d1723e |
1 | #!perl |
2 | use strict; |
3 | use warnings; |
4 | |
3821b191 |
5 | use Test::More tests => 10; |
b4d1723e |
6 | |
3821b191 |
7 | { |
8 | package Class; |
9 | use Mouse; |
b4d1723e |
10 | |
3821b191 |
11 | has foo => (is => 'rw'); |
b4d1723e |
12 | |
3821b191 |
13 | __PACKAGE__->meta->make_immutable; # ensure metaclasses loaded |
b4d1723e |
14 | |
3821b191 |
15 | package Role; |
16 | use Mouse::Role; |
b4d1723e |
17 | |
3821b191 |
18 | sub bar {} |
19 | } |
20 | |
21 | { |
22 | my $metaclass = Class->meta; |
23 | |
24 | can_ok($metaclass, 'meta'); |
25 | |
26 | can_ok($metaclass->constructor_class, 'meta'); |
27 | can_ok($metaclass->destructor_class, 'meta'); |
28 | can_ok($metaclass->attribute_metaclass, 'meta'); |
29 | |
30 | can_ok($metaclass->get_method('foo'), 'meta'); |
31 | can_ok($metaclass->get_attribute('foo'), 'meta'); |
32 | can_ok($metaclass->get_attribute('foo')->accessor_metaclass, 'meta'); |
33 | can_ok($metaclass->get_attribute('foo')->delegation_metaclass, 'meta'); |
34 | } |
35 | |
36 | { |
37 | my $metarole = Class->meta; |
38 | |
39 | can_ok($metarole, 'meta'); |
40 | |
41 | can_ok($metarole->get_method('foo'), 'meta'); |
42 | } |