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