Test-Mojo-WithRoles
view release on metacpan or search on metacpan
lib/Test/Mojo/WithRoles.pm view on Meta::CPAN
use Mojo::JSON 'j';
sub import {
my ($class, @roles) = @_;
@roles = map { s/^\+// ? $_ : "Test::Mojo::Role::$_" } @roles;
$^H{'Test::Mojo::WithRoles/enabled'} = j(\@roles);
}
sub unimport {
my ($class) = @_;
$^H{'Test::Mojo::WithRoles/enabled'} = '[]';
}
sub new {
my $class = shift;
my $hints = (caller(0))[10];
my $roles = j($hints->{'Test::Mojo::WithRoles/enabled'} || '[]');
@$roles = 'Test::Mojo::Role::Null' unless @$roles;
return Role::Tiny->create_class_with_roles('Test::Mojo', @$roles)->new(@_);
}
( run in 0.289 second using v1.01-cache-2.11-cpan-05444aca049 )