d2a5473744daf0db9802567cb30632f837c78f32
[gitmo/Role-Tiny.git] / t / around-does.t
1 use Test::More;
2
3 BEGIN {
4   plan skip_all => "Class::Method::Modifiers not installed"
5     unless eval "use Class::Method::Modifiers; 1";
6 }
7
8 my $pass;
9 my $pass2;
10
11 BEGIN {
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
26 BEGIN {
27         package Local::Class;
28         use Role::Tiny::With;
29         with 'Local::Role';
30 }
31
32 ok(Local::Class->does('Local::Role'));
33 ok($pass);
34 ok(Local::Class->DOES('Local::Role'));
35 ok($pass2);
36 done_testing();