Make sure that redefining role metaclass does not affect other classes
[gitmo/Moose.git] / t / 030_roles / 038_role_metaclass.t
1 #!/usr/bin/env perl
2 use strict;
3 use warnings;
4 use Test::More tests => 2;
5 use Moose ();
6
7 BEGIN {
8
9     package My::Meta::Role;
10     use Moose;
11     extends 'Moose::Meta::Role';
12
13     has test_serial => (
14         is      => 'ro',
15         isa     => 'Int',
16         default => 1,
17     );
18     no Moose;
19
20 }
21 {
22
23     package MyRole;
24     use metaclass 'Moose::Meta::Class' =>
25         ( role_metaclass => 'My::Meta::Role' );
26     use Moose::Role;
27
28     no Moose::Role;
29
30     package MyOtherRole;
31     use Moose::Role;
32
33     no Moose::Role;
34 };
35
36 isa_ok( MyRole->meta, 'My::Meta::Role' );
37 isa_ok( MyOtherRole->meta, 'Moose::Meta::Role' );
38
39 # my $role = MyRole->meta->create_anon_role;
40 # is( $role->test_serial, 1, "default value for the serial attribute" );