inhale Mouse
[gitmo/Moo.git] / xt / moo-does-moose-role.t
CommitLineData
a84066c7 1use strictures 1;
2use Test::More;
3
4BEGIN {
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
20BEGIN {
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
36BEGIN {
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 48BEGIN {
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 60foreach 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
67done_testing;