Commit | Line | Data |
f1ce2b19 |
1 | use strict; |
2 | use warnings FATAL => 'all'; |
3 | use Test::More; |
4 | use Test::Fatal; |
5 | |
6 | { |
7 | package MyRole1; |
8 | |
9 | sub before_role {} |
10 | |
11 | use Role::Tiny; |
cde4d060 |
12 | no warnings 'once'; |
f1ce2b19 |
13 | |
14 | our $GLOBAL1 = 1; |
15 | sub after_role {} |
16 | } |
17 | |
18 | { |
19 | package MyClass1; |
cde4d060 |
20 | no warnings 'once'; |
f1ce2b19 |
21 | |
22 | our $GLOBAL1 = 1; |
23 | sub method {} |
24 | } |
25 | |
26 | my $role_methods = Role::Tiny->_concrete_methods_of('MyRole1'); |
27 | is_deeply([sort keys %$role_methods], ['after_role'], |
28 | 'only subs after Role::Tiny import are methods' ); |
29 | |
30 | my $class_methods = Role::Tiny->_concrete_methods_of('MyClass1'); |
31 | is_deeply([sort keys %$class_methods], ['method'], |
32 | 'only subs from non-Role::Tiny packages are methods' ); |
33 | |
34 | done_testing; |