Commit | Line | Data |
43fb75d6 |
1 | use strict; |
2 | # This is automatically generated by author/import-moose-test.pl. |
3 | # DO NOT EDIT THIS FILE. ANY CHANGES WILL BE LOST!!! |
4 | use t::lib::MooseCompat; |
5 | use warnings; |
6 | |
7 | use Test::More; |
8 | use Mouse::Util qw( apply_all_roles ); |
9 | |
10 | { |
11 | package Role::Foo; |
12 | use Mouse::Role; |
13 | } |
14 | |
15 | { |
16 | package Role::Bar; |
17 | use Mouse::Role; |
18 | } |
19 | |
20 | { |
21 | package Role::Baz; |
22 | use Mouse::Role; |
23 | } |
24 | |
25 | { |
26 | package Class::A; |
27 | use Mouse; |
28 | } |
29 | |
30 | { |
31 | package Class::B; |
32 | use Mouse; |
33 | } |
34 | |
35 | { |
36 | package Class::C; |
37 | use Mouse; |
38 | } |
39 | |
40 | { |
41 | package Class::D; |
42 | use Mouse; |
43 | } |
44 | |
45 | { |
46 | package Class::E; |
47 | use Mouse; |
48 | } |
49 | |
50 | my @roles = qw( Role::Foo Role::Bar Role::Baz ); |
51 | apply_all_roles( 'Class::A', @roles ); |
52 | ok( Class::A->meta->does_role($_), "Class::A does $_" ) for @roles; |
53 | |
54 | apply_all_roles( 'Class::B', map { $_->meta } @roles ); |
55 | ok( Class::A->meta->does_role($_), |
56 | "Class::B does $_ (applied with meta role object)" ) |
57 | for @roles; |
58 | |
59 | @roles = qw( Role::Foo ); |
60 | apply_all_roles( 'Class::C', @roles ); |
61 | ok( Class::A->meta->does_role($_), "Class::C does $_" ) for @roles; |
62 | |
63 | apply_all_roles( 'Class::D', map { $_->meta } @roles ); |
64 | ok( Class::A->meta->does_role($_), |
65 | "Class::D does $_ (applied with meta role object)" ) |
66 | for @roles; |
67 | |
68 | @roles = qw( Role::Foo Role::Bar ), Role::Baz->meta; |
69 | apply_all_roles( 'Class::E', @roles ); |
70 | ok( Class::A->meta->does_role($_), |
71 | "Class::E does $_ (mix of names and meta role object)" ) |
72 | for @roles; |
73 | |
74 | done_testing; |