File Coverage

blib/lib/Tangerine/hook/xxx.pm
Criterion Covered Total %
statement 30 30 100.0
branch 10 10 100.0
condition 8 9 88.8
subroutine 9 9 100.0
pod 1 1 100.0
total 58 59 98.3


line stmt bran cond sub pod time code
1             package Tangerine::hook::xxx;
2             $Tangerine::hook::xxx::VERSION = '0.23';
3 16     16   731 use 5.010;
  16         33  
4 16     16   50 use strict;
  16         16  
  16         226  
5 16     16   44 use warnings;
  16         15  
  16         311  
6 16     16   43 use parent 'Tangerine::Hook';
  16         13  
  16         54  
7 16     16   678 use Tangerine::HookData;
  16         16  
  16         312  
8 16     16   46 use Tangerine::Occurence;
  16         18  
  16         246  
9 16     16   41 use Tangerine::Utils qw/any stripquotelike/;
  16         16  
  16         2538  
10              
11             sub run {
12 138     138 1 120 my ($self, $s) = @_;
13 138 100 100 195   296 if ((any { $s->[0] eq $_ } qw(use no)) &&
  195   100     587  
14             scalar(@$s) > 2 && $s->[1] eq 'XXX') {
15 4         62 my $module;
16 4 100 66     5 if ($s->[2] eq '-dumper') {
    100          
    100          
17 1         7 $module = 'Data::Dumper';
18             } elsif ($s->[2] eq '-yaml') {
19 1         13 $module = 'YAML';
20             } elsif ($s->[2] eq '-with' && $s->[4]) {
21 1         28 $module = stripquotelike($s->[4]);
22             }
23 4 100       32 return Tangerine::HookData->new( modules => {
24             $module => Tangerine::Occurence->new } )
25             if $module;
26             }
27 135         1623 return;
28             }
29              
30             1;
31              
32             __END__