added Mouse::Meta::Class->create(_anon_class)?
[gitmo/Mouse.git] / t / 034-apply_all_roles.t
CommitLineData
2e92bb89 1#!/usr/bin/env perl
2use strict;
3use warnings;
4use Test::More tests => 4;
eab81545 5use Test::Exception;
2e92bb89 6
7{
8 package FooRole;
9 use Mouse::Role;
10 sub foo { 'ok1' }
11}
12
13{
14 package BarRole;
15 use Mouse::Role;
16 sub bar { 'ok2' }
17}
18
19{
20 package Baz;
21 use Mouse;
22 no Mouse;
23}
24
25throws_ok { Mouse::Util::apply_all_roles('Baz', 'BarRole', 'FooRole') } qr{Mouse::Util only supports 'apply_all_roles' on individual roles at a time};
26
27Mouse::Util::apply_all_roles('Baz', 'BarRole');
28Mouse::Util::apply_all_roles('Baz', 'FooRole');
29
30my $baz = Baz->new;
31is $baz->foo, 'ok1';
32is $baz->bar, 'ok2';
33is join(",", sort $baz->meta->get_method_list), 'bar,foo';
34