add comments explaining rationale for handling of requires in create_class_with_roles
[gitmo/Role-Tiny.git] / t / concrete-methods.t
CommitLineData
f1ce2b19 1use strict;
2use warnings FATAL => 'all';
3use Test::More;
4use 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
26my $role_methods = Role::Tiny->_concrete_methods_of('MyRole1');
27is_deeply([sort keys %$role_methods], ['after_role'],
28 'only subs after Role::Tiny import are methods' );
29
30my $class_methods = Role::Tiny->_concrete_methods_of('MyClass1');
31is_deeply([sort keys %$class_methods], ['method'],
32 'only subs from non-Role::Tiny packages are methods' );
33
34done_testing;