File Coverage

blib/lib/Tangerine/hook/testloading.pm
Criterion Covered Total %
statement 28 28 100.0
branch 6 6 100.0
condition 3 3 100.0
subroutine 9 9 100.0
pod 1 1 100.0
total 47 47 100.0


line stmt bran cond sub pod time code
1             package Tangerine::hook::testloading;
2             $Tangerine::hook::testloading::VERSION = '0.19';
3 2     2   720 use strict;
  2         2  
  2         53  
4 2     2   6 use warnings;
  2         3  
  2         45  
5 2     2   10 use parent 'Tangerine::Hook';
  2         2  
  2         14  
6 2     2   97 use List::MoreUtils qw/any/;
  2         3  
  2         13  
7 2     2   695 use Tangerine::HookData;
  2         3  
  2         42  
8 2     2   7 use Tangerine::Occurence;
  2         3  
  2         55  
9 2     2   8 use Tangerine::Utils qw(stripquotelike);
  2         3  
  2         335  
10              
11             sub run {
12 31     31 1 30 my ($self, $s) = @_;
13 31 100 100 80   109 if (scalar(@$s) > 1 && any { $s->[0] eq $_ } qw/require_ok syntax_ok use_ok/) {
  80         251  
14 16 100       145 return if $s->[1] eq ';';
15 13         237 my @modules = stripquotelike((@$s)[1..$#$s]);
16 13 100       34 return Tangerine::HookData->new(
17             children => [
18             ($s->[0] eq 'require_ok' ?
19             ('require', $modules[0]) :
20             ('use', @modules)
21             )
22              
23             ],
24             );
25             }
26 15         51 return;
27             }
28              
29             1;
30              
31             __END__