File Coverage

blib/lib/Enbld/HTML.pm
Criterion Covered Total %
statement 24 24 100.0
branch 2 2 100.0
condition n/a
subroutine 5 5 100.0
pod 0 3 0.0
total 31 34 91.1


line stmt bran cond sub pod time code
1             package Enbld::HTML;
2              
3 4     4   454 use strict;
  4         6  
  4         93  
4 4     4   12 use warnings;
  4         4  
  4         792  
5              
6             sub new {
7 37     37 0 988 my ( $class, $html ) = @_;
8              
9 37         107 my $self = {
10             html => $html,
11             };
12              
13 37         118 return bless $self, $class;
14             }
15              
16             sub parse_version {
17 37     37 0 72 my ( $self, $parser, $version_form ) = @_;
18              
19 37         89 my $filenames = $self->extract( $parser );
20              
21 37         52 my %list;
22              
23 37         37 foreach my $filename ( @{ $filenames } ) {
  37         102  
24 71         299 while ( $filename =~ /$version_form/g ) {
25 71         288 $list{$&}++;
26             }
27             }
28              
29 37 100       99 return unless ( keys %list );
30              
31 36         97 my @versions = keys %list;
32              
33 36         139 return \@versions;
34             }
35              
36             sub extract {
37 37     37 0 54 my ( $self, $parser ) = @_;
38              
39 37         51 my @candidate;
40 37         385 while( $self->{html} =~ /$parser/g ) {
41 71         333 push @candidate, $&;
42             }
43              
44 37         79 return \@candidate;
45             }
46              
47             1;