Skip tests for strict constructor on Moose
[gitmo/Mouse.git] / t / 001_mouse / 034-apply_all_roles.t
1 #!/usr/bin/env perl
2 use strict;
3 use warnings;
4 use Test::More tests => 4;
5
6 {
7     package FooRole;
8     use Mouse::Role;
9     sub foo { 'ok1' }
10 }
11
12 {
13     package BarRole;
14     use Mouse::Role;
15     sub bar { 'ok2' }
16 }
17
18 {
19     package Baz;
20     use Mouse;
21     no Mouse;
22 }
23
24 eval { Mouse::Util::apply_all_roles('Baz', 'BarRole', 'FooRole') };
25 ok !$@;
26
27 Mouse::Util::apply_all_roles('Baz', 'BarRole');
28 Mouse::Util::apply_all_roles('Baz', 'FooRole');
29
30 my $baz = Baz->new;
31 is $baz->foo, 'ok1';
32 is $baz->bar, 'ok2';
33 is join(",", sort $baz->meta->get_method_list), 'bar,foo,meta';
34