failing test for composite roles and application metaclasses
[gitmo/Moose.git] / t / 030_roles / 027_role_composition_meta.t
1 #!/usr/bin/perl
2 use strict;
3 use warnings;
4
5 use Test::More;
6 use Moose::Exporter;
7
8 my $attributes_applied = 0;
9
10 {
11     
12     package MyMoose;
13     use Moose;
14     
15     Moose::Exporter->setup_import_methods(
16                   role_metaroles => {
17                       application_to_class =>
18                         ['Application'],
19                   }, );
20
21     package Application;
22     use Moose::Role;
23
24     before apply_attributes => sub {
25         $attributes_applied++;
26     };
27
28     package RoleA;
29     use Moose::Role;
30     MyMoose->import;
31
32
33
34     has bar => ( is => 'rw', default => 1 );
35
36     package RoleB;
37     use Moose::Role;
38     MyMoose->import;
39
40     has foo => ( is => 'rw', default => 1 );
41 }
42
43 {
44
45     package ComposeList;
46
47     use Moose;
48     use namespace::autoclean;
49
50     with qw( RoleB RoleA );
51
52     __PACKAGE__->meta->make_immutable;
53 }
54
55 is($attributes_applied, 2);
56
57 {
58
59     package ComposeSeparate;
60
61     use Moose;
62     use namespace::autoclean;
63
64     with 'RoleA';
65     with 'RoleB';
66
67     __PACKAGE__->meta->make_immutable;
68 }
69
70 is($attributes_applied, 4);
71
72 done_testing;