3 plan skip_all => 'requires Moo'
4 unless eval { require Moo; require Moo::Role; 1 };
19 package Local::Class1;
28 package Local::Class2;
30 with qw( Local::Role1 );
31 with qw( Local::Role2 );
35 package Local::Class3;
37 with qw( Local::Role1 );
38 with qw( Local::Role2 );
40 my ($proto, $role) = @_;
41 return 1 if $role eq 'Local::Role3';
42 return $proto->does($role);
47 my $class = "Local::Class$c";
49 my $role = "Local::Role$r";
50 ok($class->does($role), "$class\->does($role)");
51 ok($class->DOES($role), "$class\->DOES($role)");
56 my $class = "Local::Class3";
57 my $role = "Local::Role3";
58 ok( ! $class->does($role), "$class\->does($role)");
59 ok( $class->DOES($role), "$class\->DOES($role)");