Commit | Line | Data |
---|---|---|
8017308b | 1 | use strict; |
2 | use warnings; | |
3272340d | 3 | |
cf7a55f0 | 4 | use Test::More; |
9f0ece1b | 5 | use Test::Exception; |
8017308b | 6 | |
73733222 | 7 | use Test::Requires { |
8 | 'MooseX::Role::Parameterized' => '0', | |
9 | }; | |
10 | ||
cf7a55f0 | 11 | plan skip_all => |
12 | 'This test will not pass without changes to MooseX::Role::Parmeterized'; | |
8017308b | 13 | |
1403ec92 | 14 | { |
8017308b | 15 | package Role; |
cf7a55f0 | 16 | |
8017308b | 17 | use MooseX::Role::Parameterized; |
18 | use MooseX::ClassAttribute; | |
cf7a55f0 | 19 | |
20 | parameter foo => ( is => 'rw' ); | |
1403ec92 | 21 | |
22 | role { | |
23 | my $p = shift; | |
24 | ||
cf7a55f0 | 25 | class_has $p => ( is => 'rw' ); |
1403ec92 | 26 | }; |
cf7a55f0 | 27 | } |
8017308b | 28 | |
cf7a55f0 | 29 | { |
8017308b | 30 | package Class; |
cf7a55f0 | 31 | |
8017308b | 32 | use Moose; |
cf7a55f0 | 33 | |
1403ec92 | 34 | with 'Role' => { foo => 'foo' }; |
35 | } | |
36 | ||
cf7a55f0 | 37 | my $instance = Class->new(); |
38 | isa_ok( $instance, 'Class' ); | |
8017308b | 39 | |
1403ec92 | 40 | lives_and { |
41 | $instance->foo('bar'); | |
cf7a55f0 | 42 | is( $instance->foo(), 'bar' ); |
43 | } | |
44 | 'used class attribute from parameterized role'; | |
8017308b | 45 | |
cf7a55f0 | 46 | done_testing(); |