calculate mro module once
[gitmo/Role-Tiny.git] / t / around-does.t
CommitLineData
3b0234be 1use Test::More;
2
2de4b197 3BEGIN {
3117a19e 4 plan skip_all => "Class::Method::Modifiers not installed or too old"
5 unless eval "use Class::Method::Modifiers 1.05; 1";
2de4b197 6}
7
3b0234be 8my $pass;
9my $pass2;
10
11BEGIN {
12 package Local::Role;
13 use Role::Tiny;
14 around does => sub {
15 my ($orig, $self, @args) = @_;
16 $pass++;
17 return $self->$orig(@args);
18 };
19 around DOES => sub {
20 my ($orig, $self, @args) = @_;
21 $pass2++;
22 return $self->$orig(@args);
23 };
24}
25
26BEGIN {
27 package Local::Class;
28 use Role::Tiny::With;
29 with 'Local::Role';
30}
31
32ok(Local::Class->does('Local::Role'));
33ok($pass);
34ok(Local::Class->DOES('Local::Role'));
35ok($pass2);
2de4b197 36done_testing();