Remove Accessor method metaclass
[gitmo/MooseX-ClassAttribute.git] / t / 07-parameterized-role.t
1 use strict;
2 use warnings;
3
4 use Test::More tests => 3;
5 use Test::Exception;
6
7 use Test::Requires {
8     'MooseX::Role::Parameterized' => 0.23, # skip all if not installed
9 };
10
11 {
12     package Role;
13     use MooseX::Role::Parameterized;
14     use MooseX::ClassAttribute;
15     
16     parameter foo => (is => 'rw');
17
18     role {
19         my $p = shift;
20
21         class_has $p => (is => 'rw');
22     };
23
24     package Class;
25     use Moose;
26     with 'Role' => { foo => 'foo' };
27 }
28
29 ok((my $instance = Class->new), 'instance');
30
31 lives_and {
32     $instance->foo('bar');
33     is $instance->foo, 'bar';
34 } 'used class attribute from parameterized role';
35