MooseX-Role-Parameterized
view release on metacpan or search on metacpan
t/006-requires.t view on Meta::CPAN
parameters => {
requires => $_,
},
);
push @keep_roles_alive, $role;
$role->name;
} @_
}
{
my ($role_name) = requires_names('alpha');
like( exception {
Moose::Meta::Class->create_anon_class(
roles => [ $role_name ],
);
}, qr/'$role_name' requires the method 'alpha' to be implemented by '[\w:]+'/);
}
is (exception {
Moose::Meta::Class->create_anon_class(
methods => {
alpha => sub {},
},
roles => [ requires_names('alpha') ],
);
}, undef);
{
my ($role1, $role2) = requires_names('alpha', 'beta');
like( exception {
Moose::Meta::Class->create_anon_class(
methods => {
alpha => sub {},
},
roles => [ $role1, $role2 ],
);
}, qr/'$role1\|$role2' requires the method 'beta' to be implemented by '[\w:]+'/);
}
{
my ($role1, $role2) = requires_names('alpha', 'beta');
like( exception {
Moose::Meta::Class->create_anon_class(
methods => {
beta => sub {},
},
roles => [ $role1, $role2 ],
);
}, qr/'$role1\|$role2' requires the method 'alpha' to be implemented by '[\w:]+'/);
}
( run in 0.267 second using v1.01-cache-2.11-cpan-05444aca049 )