subclassing and role composition for attributes
[gitmo/Moo.git] / t / class-tiny-accessors.t
index 053b01c..3edae8a 100644 (file)
@@ -9,6 +9,22 @@ use Test::More;
   has one => (is => 'ro');
   has two => (is => 'rw', init_arg => undef);
   has three => (is => 'ro', init_arg => 'THREE', required => 1);
+
+  package Bar;
+
+  use Role::Tiny;
+
+  has four => (is => 'ro');
+
+  package Baz;
+
+  use Class::Tiny;
+
+  extends 'Foo';
+
+  with 'Bar';
+
+  has five => (is => 'rw');
 }
 
 my $foo = Foo->new(
@@ -17,7 +33,19 @@ my $foo = Foo->new(
 );
 
 is_deeply(
-  { %$foo }, { one => 1, three => 3 }, 'internals ok'
+  { %$foo }, { one => 1, three => 3 }, 'simple class ok'
+);
+
+my $baz = Baz->new(
+  one => 1,
+  THREE => 3,
+  four => 4,
+  five => 5,
+);
+
+is_deeply(
+  { %$baz }, { one => 1, three => 3, four => 4, five => 5 },
+  'subclass with role ok'
 );
 
 done_testing;