Branch Coverage

blib/lib/Module/ScanDeps/Static.pm
Criterion Covered Total %
branch 35 144 24.3


line true false branch
107 4 0 unless (@include_path)
119 0 4 if $version
127 38 2 unless -e $path
134 0 2 $v eq 'undef' ? :
154 0 0 if (@ms)
167 0 0 'version'->parse($first_release_version) <= 'version'->parse($min_core_version) ? :
185 0 8 if ($line =~ /\A\s*(?:my\s*)?\$(?:.*)\s*=\s*<<\s*(["'`])(.+?)\1/msx or $line =~ /\A\s*(?:my\s*)?\$(.*)\s*=\s*<<(\w+)\s*;/msx)
192 0 0 if $line eq $tag
197 0 0 unless $line
204 0 8 if ($line =~ m(\A.*\Wq[qxwr]?\s*([{([#|/])[^})\]#|/]*$)msx and not $line =~ /\A\s*require|use\s/msx)
212 0 0 if $line =~ /$tag/msx
215 0 0 unless $line
224 0 8 if ($line =~ /\A=(head[\d]|pod|for|item)/msx)
227 0 0 if $line =~ /\A^=cut/msx
230 0 0 unless $line
233 0 8 if ($line =~ /\A=over/msx)
235 0 0 if /\A=back/msx
238 0 0 unless $line
242 0 8 if $line =~ /\A__(DATA|END)__/msx
251 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)
258 0 0 if $line eq $tag
263 0 0 unless $line
267 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)
275 0 0 if $line =~ /\A([^\\$quote]|(\\.))*$quote/msx
280 0 0 unless $line
291 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)
316 0 6 if ($statement eq "use" and $module =~ /(parent|base)/msx)
317 0 0 if ($version =~ m[\A\s*qw?\s*['"{(/]\s*([^'")}/]+)\s*['")}/]]msx) { }
0 0 elsif ($version =~ /\A\s*['"]([^"']+)['"]\s*\z/msx) { }
336 6 0 if (not $self->get_include_require) { }
0 0 elsif ($statement eq 'require') { }
337 0 6 if $whitespace ne $EMPTY and $statement eq "require"
340 0 0 if $line =~ /\$/msx
347 0 6 if $module =~ /\$/msx
350 0 6 if $module eq "of"
356 0 6 if $module =~ /[,>]\z/msx
365 0 6 if ($module =~ m[\A/]msx)
388 0 6 if ($module =~ /\Av?([\d._]+)\z/msx)
412 0 6 if $module =~ /[.]ph\z/msx
415 0 4 if ($statement eq "use" and $module eq 'base' || $module eq 'parent')
421 0 0 if ($version =~ m[\Aqw\s*[{(/'"]\s*([^)}/"']+?)\s*[})/"']]msx) { }
0 0 elsif ($version =~ /(["'])([^"']+)\1/msx) { }
433 0 6 if ($version and not $version =~ /\A$modver_re\z/mosx)
441 0 6 if (@module_list > 1) { }
459 0 2 if (my $file = $self->get_path)
462 0 0 unless open my $fh, "<", $file
468 0 2 if (not $self->get_handle and $script) { }
0 2 elsif (not $self->get_handle) { }
472 0 0 unless open my $fh, "<&STDIN"
481 0 8 unless $self->parse_line($line)
485 0 2 if ($self->get_path)
486 0 0 unless close $fh
544 0 6 if ($oldver) { }
4 2 elsif (not $newver) { }
545 0 0 if ($HAVE_VERSION and $newver and "version"->new($oldver) < $newver)
552 4 0 if ($self->get_add_version)
574 0 0 if (exists $perlreq{'perl'})
577 0 0 if (not $perl_version and $self->get_add_version)
590 0 0 if not $self->get_core and $self->is_core($m)
601 0 0 wantarray ? :
609 0 0 if ($options{'json'} or $self->get_json) { }
0 0 elsif ($options{'text'} or $self->get_text or $self->get_raw) { }
626 0 0 unless @requirements
640 0 0 if ($self->get_raw) { }
668 0 0 if not $self->get_core and $self->is_core($module)
670 0 0 if (not $require{$module}) { }
673 0 0 if ($self->get_add_version)
675 0 0 if ($m->{'version'})
682 0 0 unless ($m and $m->{'version'})
719 0 0 if ($options{'version'})
728 0 0 if ($options{'help'})
742 0 0 if ($options{'json'}) { }