File Coverage

blib/lib/Perl/Metrics/Lite/Analysis/File/Plugin/Packages.pm
Criterion Covered Total %
statement 16 16 100.0
branch 2 2 100.0
condition n/a
subroutine 4 4 100.0
pod 0 2 0.0
total 22 24 91.6


line stmt bran cond sub pod time code
1             package Perl::Metrics::Lite::Analysis::File::Plugin::Packages;
2 3     3   2270 use strict;
  3         9  
  3         90  
3 3     3   16 use warnings;
  3         7  
  3         484  
4              
5       18 0   sub init { }
6              
7             sub measure {
8 18     18 0 57 my ( $class, $context, $file ) = @_;
9 18         50 my @unique_packages = ();
10 18         75 my $found_packages = $file->find('PPI::Statement::Package');
11              
12             return scalar @unique_packages
13 18 100       47346 if (
14             !Perl::Metrics::Lite::Analysis::Util::is_ref( $found_packages, 'ARRAY' ) );
15              
16 9         23 my %seen_packages = ();
17              
18 9         19 foreach my $package ( @{$found_packages} ) {
  9         30  
19 15         221 $seen_packages{ $package->namespace() }++;
20             }
21              
22 9         284 @unique_packages = sort keys %seen_packages;
23              
24 9         41 return scalar @unique_packages;
25             }
26              
27             1;
28