Commit | Line | Data |
2e92bb89 |
1 | #!/usr/bin/env perl |
2 | use strict; |
3 | use warnings; |
4 | use Test::More tests => 4; |
2e92bb89 |
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 | |
21498b08 |
24 | eval { Mouse::Util::apply_all_roles('Baz', 'BarRole', 'FooRole') }; |
25 | ok !$@; |
2e92bb89 |
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'; |
8632b6fe |
33 | is join(",", sort $baz->meta->get_method_list), 'bar,foo,meta'; |
2e92bb89 |
34 | |