test composing modifiers into role
Graham Knop [Tue, 4 Mar 2014 02:46:07 +0000 (21:46 -0500)]
t/modifiers.t

index 63a9708..6d90efb 100644 (file)
@@ -45,6 +45,19 @@ BEGIN {
   around 'broken modifier' => sub { my $orig = shift; $orig->(@_) };
 }
 
+BEGIN {
+  package MyRole2;
+  use Role::Tiny;
+  with 'MyRole';
+}
+
+BEGIN {
+  package ExtraClass2;
+  use Role::Tiny::With;
+  with 'MyRole2';
+  sub foo { 'class foo' }
+}
+
 sub try_apply_to {
   my $to = shift;
   exception { Role::Tiny->apply_role_to_package($to, 'MyRole') }
@@ -54,6 +67,9 @@ 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');
 
+is(ExtraClass2->foo, 'role foo class foo',
+  'method modifier with role composed into role');
+
 ok(exception {
     my $new_class = Role::Tiny->create_class_with_roles('MyClass', 'BrokenRole');
 }, 'exception caught creating class with broken modifier in a role');