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