Commit | Line | Data |
---|---|---|
f2aa2fe5 | 1 | use strict; |
2 | use warnings; | |
3272340d | 3 | |
87e80a25 | 4 | use Test::More; |
f2aa2fe5 | 5 | |
87e80a25 | 6 | { |
7 | package Role; | |
f2aa2fe5 | 8 | |
87e80a25 | 9 | use Moose::Role; |
10 | use MooseX::ClassAttribute; | |
f2aa2fe5 | 11 | |
87e80a25 | 12 | class_has 'CA' => ( |
13 | is => 'ro', | |
14 | isa => 'HashRef', | |
15 | default => sub { {} }, | |
16 | ); | |
17 | } | |
f2aa2fe5 | 18 | |
87e80a25 | 19 | { |
20 | package Role2; | |
21 | use Moose::Role; | |
22 | } | |
f2aa2fe5 | 23 | |
87e80a25 | 24 | { |
25 | package Bar; | |
26 | use Moose; | |
f2aa2fe5 | 27 | |
87e80a25 | 28 | with( 'Role2', 'Role' ); |
29 | } | |
f2aa2fe5 | 30 | |
289b3466 | 31 | ok( |
32 | Bar->can('CA'), | |
33 | 'Class attributes are preserved during role composition' | |
34 | ); | |
87e80a25 | 35 | |
36 | done_testing(); |