File Coverage

blib/lib/Tangerine/hook/testloading.pm
Criterion Covered Total %
statement 25 25 100.0
branch 6 6 100.0
condition 3 3 100.0
subroutine 8 8 100.0
pod 1 1 100.0
total 43 43 100.0


line stmt bran cond sub pod time code
1             package Tangerine::hook::testloading;
2             $Tangerine::hook::testloading::VERSION = '0.23';
3 2     2   548 use strict;
  2         2  
  2         42  
4 2     2   6 use warnings;
  2         2  
  2         36  
5 2     2   5 use parent 'Tangerine::Hook';
  2         2  
  2         6  
6 2     2   79 use Tangerine::HookData;
  2         2  
  2         26  
7 2     2   6 use Tangerine::Occurence;
  2         2  
  2         38  
8 2     2   6 use Tangerine::Utils qw(any stripquotelike);
  2         0  
  2         292  
9              
10             sub run {
11 31     31 1 27 my ($self, $s) = @_;
12 31 100 100 80   84 if (scalar(@$s) > 1 && any { $s->[0] eq $_ } qw/require_ok syntax_ok use_ok/) {
  80         220  
13 16 100       141 return if $s->[1] eq ';';
14 13         193 my @modules = stripquotelike((@$s)[1..$#$s]);
15 13 100       25 return Tangerine::HookData->new(
16             children => [
17             ($s->[0] eq 'require_ok' ?
18             ('require', $modules[0]) :
19             ('use', @modules)
20             )
21              
22             ],
23             );
24             }
25 15         45 return;
26             }
27              
28             1;
29              
30             __END__