Commit | Line | Data |
c23885b1 |
1 | use strict; |
2 | use warnings; |
dce2c7bf |
3 | |
4 | use Test::More; |
c23885b1 |
5 | |
6 | { |
7 | package Foo::Role; |
8 | use Moose::Role; |
9 | } |
10 | |
11 | { |
12 | package Bar::Role; |
13 | use Moose::Role; |
14 | } |
15 | |
16 | { |
17 | package Foo; |
18 | use Moose; |
19 | with 'Foo::Role'; |
20 | } |
21 | |
22 | { |
23 | package Bar; |
24 | use Moose; |
25 | extends 'Foo'; |
26 | with 'Bar::Role'; |
27 | } |
28 | |
29 | { |
30 | package FooBar; |
31 | use Moose; |
32 | with 'Foo::Role', 'Bar::Role'; |
33 | } |
34 | |
35 | { |
36 | package Foo::Role::User; |
37 | use Moose::Role; |
38 | with 'Foo::Role'; |
39 | } |
40 | |
41 | { |
42 | package Foo::User; |
43 | use Moose; |
44 | with 'Foo::Role::User'; |
45 | } |
46 | |
47 | is_deeply([sort Foo::Role->meta->consumers], |
48 | ['Bar', 'Foo', 'Foo::Role::User', 'Foo::User', 'FooBar']); |
49 | is_deeply([sort Bar::Role->meta->consumers], |
50 | ['Bar', 'FooBar']); |
51 | is_deeply([sort Foo::Role::User->meta->consumers], |
52 | ['Foo::User']); |
dce2c7bf |
53 | |
54 | done_testing; |