Release commit for 1.002005
[gitmo/Role-Tiny.git] / t / modifiers.t
index a557d50..63a9708 100644 (file)
@@ -4,8 +4,8 @@ use Test::More;
 use Test::Fatal;
 
 BEGIN {
-  plan skip_all => "Class::Method::Modifiers not installed"
-    unless eval "use Class::Method::Modifiers; 1";
+  plan skip_all => "Class::Method::Modifiers not installed or too old"
+    unless eval "use Class::Method::Modifiers 1.05; 1";
 }
 
 BEGIN {
@@ -17,12 +17,28 @@ BEGIN {
 }
 
 BEGIN {
+  package ExtraRole;
+
+  use Role::Tiny;
+}
+
+BEGIN {
   package MyClass;
 
   sub foo { 'class foo' }
 }
 
 BEGIN {
+  package ExtraClass;
+
+  use Role::Tiny::With;
+
+  with qw(MyRole ExtraRole);
+
+  sub foo { 'class foo' }
+}
+
+BEGIN {
   package BrokenRole;
   use Role::Tiny;
 
@@ -36,6 +52,7 @@ sub try_apply_to {
 
 is(try_apply_to('MyClass'), undef, 'role applies cleanly');
 is(MyClass->foo, 'role foo class foo', 'method modifier');
+is(ExtraClass->foo, 'role foo class foo', 'method modifier with composition');
 
 ok(exception {
     my $new_class = Role::Tiny->create_class_with_roles('MyClass', 'BrokenRole');