File Coverage

blib/lib/Tangerine/hook/xxx.pm
Criterion Covered Total %
statement 33 33 100.0
branch 10 10 100.0
condition 8 9 88.8
subroutine 10 10 100.0
pod 1 1 100.0
total 62 63 98.4


line stmt bran cond sub pod time code
1             package Tangerine::hook::xxx;
2             $Tangerine::hook::xxx::VERSION = '0.19';
3 15     15   991 use 5.010;
  15         38  
4 15     15   64 use strict;
  15         20  
  15         301  
5 15     15   53 use warnings;
  15         25  
  15         524  
6 15     15   66 use parent 'Tangerine::Hook';
  15         25  
  15         72  
7 15     15   910 use List::MoreUtils qw(any);
  15         22  
  15         94  
8 15     15   5197 use Tangerine::HookData;
  15         26  
  15         353  
9 15     15   63 use Tangerine::Occurence;
  15         27  
  15         352  
10 15     15   59 use Tangerine::Utils qw/stripquotelike/;
  15         24  
  15         3226  
11              
12             sub run {
13 128     128 1 141 my ($self, $s) = @_;
14 128 100 100 181   406 if ((any { $s->[0] eq $_ } qw(use no)) &&
  181   100     683  
15             scalar(@$s) > 2 && $s->[1] eq 'XXX') {
16 4         128 my $module;
17 4 100 66     8 if ($s->[2] eq '-dumper') {
    100          
    100          
18 1         14 $module = 'Data::Dumper';
19             } elsif ($s->[2] eq '-yaml') {
20 1         26 $module = 'YAML';
21             } elsif ($s->[2] eq '-with' && $s->[4]) {
22 1         42 $module = stripquotelike($s->[4]);
23             }
24 4 100       65 return Tangerine::HookData->new( modules => {
25             $module => Tangerine::Occurence->new } )
26             if $module;
27             }
28 125         1804 return;
29             }
30              
31             1;
32              
33             __END__