Commit | Line | Data |
---|---|---|
1e7a7baa | 1 | use strict; |
2 | use warnings; | |
92989046 | 3 | use Test::More tests => 5; |
1e7a7baa | 4 | |
1e7a7baa | 5 | { |
92989046 | 6 | package ParentRole; |
7 | use Mouse::Role; | |
8 | sub parent_method { 'parent_method' } | |
1e7a7baa | 9 | } |
10 | ||
11 | { | |
92989046 | 12 | package ChildRole; |
13 | use Mouse::Role; | |
14 | ||
15 | with 'ParentRole'; | |
16 | ||
17 | sub child_method { "role's" } | |
1e7a7baa | 18 | } |
19 | ||
20 | { | |
92989046 | 21 | package Class; |
22 | use Mouse; | |
23 | with 'ChildRole'; | |
24 | ||
25 | sub child_method { "class's" } | |
1e7a7baa | 26 | } |
27 | ||
92989046 | 28 | my $o = Class->new; |
29 | ||
30 | ok $o->does('ChildRole'), 'does ChildRole'; | |
31 | ok $o->does('ParentRole'), 'does ParentRole'; | |
32 | can_ok $o, qw(parent_method child_method); | |
33 | is $o->parent_method, 'parent_method'; | |
34 | is $o->child_method, "class's"; | |
35 |