Commit | Line | Data |
a84066c7 |
1 | use strictures 1; |
2 | use Test::More; |
3 | |
4 | BEGIN { |
5 | package Splat; |
6 | |
7 | use Moose::Role; |
8 | |
9 | requires 'monkey'; |
10 | |
11 | sub punch { 1 } |
12 | |
13 | sub jab { 0 } |
14 | |
15 | around monkey => sub { 'OW' }; |
16 | |
17 | has trap => (is => 'ro', default => sub { -1 }); |
18 | } |
19 | |
20 | BEGIN { |
c100c04c |
21 | package Splat2; |
22 | |
23 | use Mouse::Role; |
24 | |
25 | requires 'monkey'; |
26 | |
27 | sub punch { 1 } |
28 | |
29 | sub jab { 0 } |
30 | |
31 | around monkey => sub { 'OW' }; |
32 | |
33 | has trap => (is => 'ro', default => sub { -1 }); |
34 | } |
35 | |
36 | BEGIN { |
a84066c7 |
37 | package Splattered; |
38 | |
39 | use Moo; |
40 | |
41 | sub monkey { 'WHAT' } |
42 | |
43 | with 'Splat'; |
44 | |
45 | sub jab { 3 } |
46 | } |
47 | |
c100c04c |
48 | BEGIN { |
49 | package Splattered2; |
50 | |
51 | use Moo; |
52 | |
53 | sub monkey { 'WHAT' } |
54 | |
55 | with 'Splat2'; |
56 | |
57 | sub jab { 3 } |
58 | } |
a84066c7 |
59 | |
c100c04c |
60 | foreach my $s (Splattered->new, Splattered2->new) { |
61 | is($s->punch, 1, 'punch'); |
62 | is($s->jab, 3, 'jab'); |
63 | is($s->monkey, 'OW', 'monkey'); |
64 | is($s->trap, -1, 'trap'); |
65 | } |
a84066c7 |
66 | |
67 | done_testing; |