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   981 use strict;
  3         7  
  3         93  
3 3     3   18 use warnings;
  3         6  
  3         477  
4              
5       18 0   sub init { }
6              
7             sub measure {
8 18     18 0 62 my ( $class, $context, $file ) = @_;
9 18         55 my @unique_packages = ();
10 18         85 my $found_packages = $file->find('PPI::Statement::Package');
11              
12             return scalar @unique_packages
13 18 100       48097 if (
14             !Perl::Metrics::Lite::Analysis::Util::is_ref( $found_packages, 'ARRAY' ) );
15              
16 9         26 my %seen_packages = ();
17              
18 9         24 foreach my $package ( @{$found_packages} ) {
  9         32  
19 15         228 $seen_packages{ $package->namespace() }++;
20             }
21              
22 9         307 @unique_packages = sort keys %seen_packages;
23              
24 9         54 return scalar @unique_packages;
25             }
26              
27             1;
28