inhale Mouse
[gitmo/Moo.git] / xt / moo-does-moose-role.t
index 6db3919..9f5c25d 100644 (file)
@@ -18,6 +18,22 @@ BEGIN {
 }
 
 BEGIN {
+  package Splat2;
+
+  use Mouse::Role;
+
+  requires 'monkey';
+
+  sub punch { 1 }
+
+  sub jab { 0 }
+
+  around monkey => sub { 'OW' };
+
+  has trap => (is => 'ro', default => sub { -1 });
+}
+
+BEGIN {
   package Splattered;
 
   use Moo;
@@ -29,11 +45,23 @@ BEGIN {
   sub jab { 3 }
 }
 
-my $s = Splattered->new;
+BEGIN {
+  package Splattered2;
+
+  use Moo;
+
+  sub monkey { 'WHAT' }
+
+  with 'Splat2';
+
+  sub jab { 3 }
+}
 
-is($s->punch, 1, 'punch');
-is($s->jab, 3, 'jab');
-is($s->monkey, 'OW', 'monkey');
-is($s->trap, -1, 'trap');
+foreach my $s (Splattered->new, Splattered2->new) {
+  is($s->punch, 1, 'punch');
+  is($s->jab, 3, 'jab');
+  is($s->monkey, 'OW', 'monkey');
+  is($s->trap, -1, 'trap');
+}
 
 done_testing;