Branch Coverage

blib/lib/Module/ScanDeps/Static.pm
Criterion Covered Total %
branch 34 142 23.9


line true false branch
107 4 0 unless (@include_path)
119 0 4 if $version
127 38 2 unless -e $path
151 0 0 if (@ms)
164 0 0 'version'->parse($first_release_version) <= 'version'->parse($min_core_version) ? :
182 0 8 if ($line =~ /\A\s*(?:my\s*)?\$(?:.*)\s*=\s*<<\s*(["'`])(.+?)\1/msx or $line =~ /\A\s*(?:my\s*)?\$(.*)\s*=\s*<<(\w+)\s*;/msx)
189 0 0 if $line eq $tag
194 0 0 unless $line
201 0 8 if ($line =~ m(\A.*\Wq[qxwr]?\s*([{([#|/])[^})\]#|/]*$)msx and not $line =~ /\A\s*require|use\s/msx)
209 0 0 if $line =~ /$tag/msx
212 0 0 unless $line
221 0 8 if ($line =~ /\A=(head[\d]|pod|for|item)/msx)
224 0 0 if $line =~ /\A^=cut/msx
227 0 0 unless $line
230 0 8 if ($line =~ /\A=over/msx)
232 0 0 if /\A=back/msx
235 0 0 unless $line
239 0 8 if $line =~ /\A__(DATA|END)__/msx
248 0 8 if ($line =~ /print(?:\s+|\s+\S+\s+)\<\<\s*(["'`])(.+?)\1/msx or $line =~ /print(\s+|\s+\S+\s+)\<\<(\w+)/msx or $line =~ /return(\s+)\<\<(\w+)/msx)
255 0 0 if $line eq $tag
260 0 0 unless $line
264 0 8 if ($line =~ /\$\S+\s*=\s*(")([^"\\]|(\\.))*\z/msx or $line =~ /\$\S+\s*=\s*(')([^'\\]|(\\.))*\z/msx or $line =~ /print\s+(")([^"\\]|(\\.))*\z/msx or $line =~ /print\s+(')([^'\\]|(\\.))*\z/msx)
272 0 0 if $line =~ /\A([^\\$quote]|(\\.))*$quote/msx
277 0 0 unless $line
288 6 2 if ($line =~ m[\A(\s*) # we hope the inclusion starts the line (require|use)\s+(?![{]) # do not want 'do {' loops # quotes around name are always legal ['"]?([\w:./]+?)['"]?[\t; ] # the syntax for 'use' allows version requirements # the latter part is for "use base qw(Foo)" and friends special case \s*($modver_re|(qw\s*[{(/'"]\s*|['"])[^})/"'\$]*?\s*[})/"'])?]msx)
313 0 6 if ($statement eq "use" and $module =~ /(parent|base)/msx)
314 0 0 if ($version =~ m[\A\s*qw?\s*['"{(/]\s*([^'")}/]+)\s*['")}/]]msx) { }
0 0 elsif ($version =~ /\A\s*['"]([^"']+)['"]\s*\z/msx) { }
333 6 0 if (not $self->get_include_require) { }
0 0 elsif ($statement eq 'require') { }
334 0 6 if $whitespace ne $EMPTY and $statement eq "require"
337 0 0 if $line =~ /\$/msx
344 0 6 if $module =~ /\$/msx
347 0 6 if $module eq "of"
353 0 6 if $module =~ /[,>]\z/msx
362 0 6 if ($module =~ m[\A/]msx)
385 0 6 if ($module =~ /\Av?([\d._]+)\z/msx)
409 0 6 if $module =~ /[.]ph\z/msx
412 0 4 if ($statement eq "use" and $module eq 'base' || $module eq 'parent')
418 0 0 if ($version =~ m[\Aqw\s*[{(/'"]\s*([^)}/"']+?)\s*[})/"']]msx) { }
0 0 elsif ($version =~ /(["'])([^"']+)\1/msx) { }
430 0 6 if ($version and not $version =~ /\A$modver_re\z/mosx)
438 0 6 if (@module_list > 1) { }
456 0 2 if (my $file = $self->get_path)
459 0 0 unless open my $fh, "<", $file
465 0 2 if (not $self->get_handle and $script) { }
0 2 elsif (not $self->get_handle) { }
469 0 0 unless open my $fh, "<&STDIN"
478 0 8 unless $self->parse_line($line)
482 0 2 if ($self->get_path)
483 0 0 unless close $fh
539 0 6 if ($oldver) { }
4 2 elsif (not $newver) { }
540 0 0 if ($HAVE_VERSION and $newver and "version"->new($oldver) < $newver)
547 4 0 if ($self->get_add_version)
569 0 0 if (exists $perlreq{'perl'})
572 0 0 if (not $perl_version and $self->get_add_version)
585 0 0 if not $self->get_core and $self->is_core($m)
596 0 0 wantarray ? :
604 0 0 if ($self->get_json) { }
0 0 elsif ($self->get_text or $self->get_raw) { }
621 0 0 unless @requirements
635 0 0 if ($self->get_raw) { }
663 0 0 if not $self->get_core and $self->is_core($module)
665 0 0 if (not $require{$module}) { }
668 0 0 if ($self->get_add_version)
670 0 0 if ($m->{'version'})
677 0 0 unless ($m and $m->{'version'})
714 0 0 if ($options{'version'})
723 0 0 if ($options{'help'})
737 0 0 if ($options{'json'}) { }