File Coverage

lib/Perl/PrereqScanner/NotQuiteLite/Parser/Only.pm
Criterion Covered Total %
statement 24 25 96.0
branch 9 10 90.0
condition n/a
subroutine 5 5 100.0
pod 0 2 0.0
total 38 42 90.4


line stmt bran cond sub pod time code
1             package Perl::PrereqScanner::NotQuiteLite::Parser::Only;
2              
3 82     82   1285 use strict;
  82         159  
  82         2090  
4 82     82   358 use warnings;
  82         168  
  82         2921  
5 82     82   408 use Perl::PrereqScanner::NotQuiteLite::Util;
  82         1062  
  82         20855  
6              
7             sub register { return {
8 81     81 0 429 use => {
9             only => 'parse_only_args',
10             },
11             }}
12              
13             sub parse_only_args {
14 6     6 0 12 my ($class, $c, $used_module, $raw_tokens) = @_;
15              
16 6         15 my $tokens = convert_string_tokens($raw_tokens);
17              
18 6 50       16 if (is_version($tokens->[0])) {
19 0         0 $c->add($used_module => shift @$tokens);
20             }
21 6         15 while(my $token = shift @$tokens) {
22 9         14 my $module = $token;
23 9 100       18 if (ref $module) {
24 8         14 $module = $module->[0];
25             }
26 9 100       17 next unless is_module_name($module);
27 5         10 my $version = shift @$tokens;
28 5 100       14 $version = shift @$tokens if ref $version;
29 5 100       11 if (is_version($version)) {
30 3         9 $c->add($module => $version);
31             } else {
32 2         6 $c->add($module => 0); # Can't determine a version
33             }
34 5         349 last;
35             }
36             }
37              
38             1;
39              
40             __END__