1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
use strict;
use warnings;
use Test::More 0.88 skip_all => "Not implemented yet";
{
package Test::Role;
use MooseX::Role::Parameterized;
parameter name => (
isa => "Str",
is => "ro",
required => 1,
);
role {
my $p = shift;
method foo => sub { "hello " . $p->name };
has blech => (
isa => "Str",
is => "ro",
required => 1,
);
};
package Test::Consumer;
use MooseX::Role::Parameterized -parameter_roles => [
'Test::Role' => { name => "foo" },
];
role {
my $p = shift;
method parameters => sub { $p };
};
package Test::Class;
use Moose;
with 'Test::Consumer' => { blech => "yes" };
}
my $obj = Test::Class->new;
does_ok( $obj, "Test::Consumer" );
can_ok( $obj, "parameters" );
my $p = $obj->parameters;
does_ok( $p, "Test::Role" );
can_ok( $p, "foo" );
can_ok( $p, "blech" );
is( $p->blech, "yes" );
is( $p->foo, "hello foo" );
done_testing;
|