Commit | Line | Data |
1c367615 |
1 | use strict; |
2 | use warnings; |
3 | use Test::More; |
4 | |
5 | # using Role::Tiny->apply_roles_to_object with too many roles, |
6 | # It makes 'Identifier too long' error in string 'eval'. |
7 | # And, Moo uses string eval. |
8 | { |
9 | package R::AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA; |
10 | use Role::Tiny; |
11 | package R::BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB; |
12 | use Role::Tiny; |
13 | package R::CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC; |
14 | use Role::Tiny; |
15 | package R::DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD; |
16 | use Role::Tiny; |
17 | package R::EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE; |
18 | use Role::Tiny; |
19 | } |
20 | |
21 | { |
22 | package Foo; |
23 | sub new { bless {}, shift } |
24 | } |
25 | |
26 | my $foo = Foo->new(); |
27 | for (qw( |
28 | R::AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA |
29 | R::BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB |
30 | R::CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC |
31 | R::DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD |
32 | R::EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE |
33 | )) { |
34 | Role::Tiny->apply_roles_to_object($foo, $_); |
35 | } |
36 | |
37 | my $pkg = ref $foo; |
1c367615 |
38 | eval "package $pkg;"; |
33f7a802 |
39 | is $@, '', 'package name usable by perl' |
40 | or diag "package: $pkg"; |
1c367615 |
41 | |
42 | done_testing; |