Commit | Line | Data |
f2391d17 |
1 | use strict; |
2 | use warnings; |
3 | { |
4 | package My::Role; |
5 | use Moose::Role; |
6 | } |
7 | { |
8 | package SomeClass; |
9 | use Moose -traits => 'My::Role'; |
10 | } |
11 | { |
12 | package SubClassUseBase; |
13 | use base qw/SomeClass/; |
14 | } |
15 | { |
16 | package SubSubClassUseBase; |
17 | use base qw/SubClassUseBase/; |
18 | } |
19 | |
a28e50e4 |
20 | use Test::More; |
f2391d17 |
21 | use Moose::Util qw/find_meta does_role/; |
22 | |
23 | my $subsubclass_meta = Moose->init_meta( for_class => 'SubSubClassUseBase' ); |
24 | ok does_role($subsubclass_meta, 'My::Role'), |
25 | 'SubSubClass metaclass does role from grandparent metaclass'; |
26 | my $subclass_meta = find_meta('SubClassUseBase'); |
57a21623 |
27 | ok does_role($subclass_meta, 'My::Role'), |
28 | 'SubClass metaclass does role from parent metaclass'; |
a28e50e4 |
29 | |
30 | done_testing; |