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