use Moo;
with 'MooRole';
+ has 'some_attr' => (is => 'ro');
+
package MooRoledMooseClass;
use Moose;
with 'MooRole';
+ has 'some_attr' => (is => 'ro');
+
package MooseParent;
use Moose;
for my $parent (qw(MooseParent MooParent)) {
for my $child (qw(MooRoledMooClass MooRoledMooseClass)) {
- my $o = $parent->new(
- e => $child->new(),
- );
- ok( $o->e->does("MooParentRole"), "$child does parent MooRole" );
- can_ok( $o->e, "role_method" );
- can_ok( $o->e, "parent_role_method" );
+ lives_and {
+ my $o = $parent->new(
+ e => $child->new(),
+ );
+ ok( $o->e->does("MooParentRole"), "$child does parent MooRole" );
+ can_ok( $o->e, "role_method" );
+ can_ok( $o->e, "parent_role_method" );
+ ok($o->e->meta->has_method('role_method'), 'Moose knows about role_method');
+ ok($o->e->meta->has_method('parent_role_method'), 'Moose knows about parent_role_method');
+ };
}
}