Branch Coverage

blib/lib/Module/ScanDeps.pm
Criterion Covered Total %
branch 195 278 70.1


line true false branch
608 34 123 if ($path =~ /\.pm$/io) { }
609 0 34 unless -f $path
611 0 34 unless defined $module_info
613 34 0 if (defined $inc_name) { }
617 0 0 if $warn
629 30 10 @_ && $_[0] =~ /^(?:$Keys)$/o ? :
634 39 1 unless (defined $args{'keys'})
639 8 32 if ($cache_file)
642 8 0 if ($using_cache) { }
654 1 56 unless ($input_file =~ /$Module::ScanDeps::ScanFileRE/)
657 0 1 if $args{'warn_missing'}
663 11 45 if ($type eq 'module') { }
730 0 40 if ($args{'execute'} or $args{'compile'})
740 8 32 if ($using_cache)
760 35 5 unless $skip
764 1684 573 if $_skip->{$file}++
767 5 568 unless $file =~ /$Module::ScanDeps::ScanFileRE/
771 51 517 if ($cache_cb) { }
779 20 31 unless ($found_in_cache)
800 1580 47 unless my(@preload) = _get_preload($pm)
815 0 121 if $rv->{'utf8.pm'}
819 2412 0 if defined $_->{'file'}
829 30 51 if $count == keys %$rv
838 17 0 @_ && $_[0] =~ /^(?:$Keys)$/o ? :
845 17 0 ref $files ? :
847 5 12 if ($compile) { }
12 0 elsif ($execute) { }
849 0 5 unless $file =~ /$Module::ScanDeps::ScanFileRE/
856 6 6 unless ref $execute
868 0 537 unless open my $fh, $file
876 258 2273 if $pm eq "__END__"
878 226 2047 if ($pm eq "__POD__")
880 224 11721 if $line =~ /^=cut/
886 0 2049 if ($pm =~ /^Tk\b/)
887 0 0 if $file =~ /(?:^|$pathsep)Term${pathsep}ReadLine\.pm$/
888 0 0 if $file =~ /(?:^|$pathsep)Tcl${pathsep}Tk\W/
895 0 537 unless close $fh
903 258 109976 if $line =~ /^__(?:END|DATA)__$/
904 226 109750 if $line =~ /^=\w/
915 536 86576 if (/^package\s+(\w+)/)
921 91 86485 if (/^(?:use|require)\s+v?(\d[\d\._]*)/)
923 14 77 if ("version"->new($1) >= "version"->new("5.9.5"))
930 11 86474 if (my($pragma, $args) = /^use \s+ (autouse|if) \s+ (.+)/x)
943 5 6 if ($pragma eq 'autouse') { }
958 0 11 if $@ or not defined $module
965 4 86470 if (my($how, $libs) = /^(use \s+ lib \s+ | (?:unshift|push) \s+ \@INC \s+ ,) (.+)/x)
967 4 0 defined $Module::ScanDeps::Config{'archname'} ? :
968 4 0 defined $Module::ScanDeps::Config{'version'} ? :
970 0 4 unless defined $dir
972 4 0 if $how =~ /lib/
975 4 12 if -d $_
1001 2313 35 if length $_
1024 49 86434 if (my($loader, $list) = $_ =~ /$LoaderRE/sx)
1027 2 47 if ($loader eq "Catalyst")
1031 1 1 $1 eq '-' ? :
2 3 $list =~ /([+-])\Q$_\E(?:$|[^\w:])/ ? :
1042 0 86434 if (/^use \s+ Class::Autouse \b \s* (.*)/sx or /^Class::Autouse \s* -> \s* autouse \s* (.*)/sx)
1048 1240 85194 if (s/^(?:use|no) \s+//x)
1053 665 84529 if (s/^(require|do) [\s(]+//x)
1054 590 75 $1 eq 'require' && /^([\w:]+)/ ? :
1059 361 84168 if (/(<[^>]*[^\$\w>][^>]*>)/)
1061 32 329 if $diamond =~ /[*?\[\]{}~\\]/
1064 0 84497 if /\bdbi:(\w+):/i
1067 2 84495 if (s/^(with|extends)\s+//)
1074 172 84323 if (my($args) = /\b(?:open|binmode)\b(.*)/)
1076 1 171 if $args =~ /:encoding\((.*?)\)/
1080 1 5 if $1 eq "encoding"
1082 4 168 if @mods
1083 4 168 if @mods
1085 2 84489 if (/\b(?:en|de)code\(\s*['"]?([-\w]+)/)
1089 0 84489 if ($SeenTk)
1098 0 0 if (/->\s*setPalette/g)
1110 0 84489 if s/^(?:require_module|use_module|use_package_optimistically) \s* \( \s*//x
1113 2 84487 if s/^(?:require_ok|use_ok) \s* \( \s*//x
1120 84487 1996 unless defined $module
1121 57 0 wantarray ? :
57 1939 if ref $module
1124 31 1908 if ($module =~ /^(['"]) (.*?) \1/x) { }
0 1908 elsif ($module =~ s/^qq? \s* (\W)//x) { }
1133 1 1938 if $module =~ /^(?:[\d\._]+|'.*[^']|".*[^"])$/
1135 44 1894 unless $module =~ /\./
1141 0 4 unless $] >= "5.008" and eval { do { require Encode; %Encode::ExtModule } }
1143 4 0 unless my $mod = eval { do { $Encode::ExtModule{Encode::find_encoding($enc)->name} } }
1151 0 2131 unless defined $module and defined $file
1159 0 2131 if ("File::Spec"->case_tolerant)
1161 0 0 if (lc $key eq lc $module)
1166 0 0 if (defined $used_by)
1167 0 0 if (lc $used_by eq lc $module) { }
1171 0 0 if (lc $key eq lc $used_by)
1186 2063 68 if (defined $used_by and $used_by ne $module)
1189 1985 78 if not 'File::Spec'->case_tolerant || grep({$_ eq $used_by;} @{$$rv{$module}{'used_by'};}) or "File::Spec"->case_tolerant and not grep({lc $_ eq lc $used_by;} @{$$rv{$module}{"used_by"};})
1194 1985 78 if not 'File::Spec'->case_tolerant || grep({$_ eq $module;} @{$$rv{$used_by}{'uses'};}) or "File::Spec"->case_tolerant and not grep({lc $_ eq lc $module;} @{$$rv{$used_by}{"uses"};})
1200 0 0 ref $_[0] ? :
1685 0 @_ && $_[0] =~ /^(?:modules|rv|used_by|warn_missing)$/ ? :
1211 82 1957 unless my $file = _find_in_inc($module)
1212 1 1956 if $skip->{$file}
1214 1537 419 if (exists $rv->{$module})
1225 401 18 if ((my $path = $module) =~ s/\.p[mh]$//i)
1228 47 139 if $_->{'name'} =~ m[^auto/$path/.*/]
1229 9 130 if $_->{'name'} =~ m[/(?:\.exists|\.packlist)$|\Q$Module::ScanDeps::Config{'lib_ext'}\E$]
1259 0 2039 unless defined $file
1262 1957 17966 if -f "$dir/$file"
1266 0 82 if -f $file
1281 14003 86 unless -d $dir
1288 152 555 unless -f $_
1289 0 555 if $pm_only and not /\.p[mh]$/i
1292 369 186 $pm_only ? :
1314 0 0 unless -d $dir
1316 0 0 unless opendir my $dh, $dir
1321 0 0 $pm_only ? :
1355 0 0 unless $module =~ /\.p[mh]$/i
1357 0 0 unless my $file = _find_in_inc($module)
1391 1 126 if ($cache{$val->{'key'}}) { }
1392 1 0 unless defined $val->{'used_by'}
1408 1 3 if $type eq "main"
1411 3 0 if (UNIVERSAL::isa($info->{$type}, "HASH"))
1419 1 2 if $type eq "module"
1431 0 0 if $Preload{$pm}
1460 12 5 $execute ? :
1552 0 17 unless open my $fh, "<", $file
1562 12 5 $execute ? :
12 5 $execute ? :
1566 0 0 $execute ? :
0 17 unless $rc == 0
1571 0 17 unless my $info = do $data_file
1627 83 696 if $name =~ /\.(?:ix|al|bs)$/i
1628 582 114 if $name =~ /\.p[mh]$/i
1629 49 65 if $name =~ /\.\Q$Module::ScanDeps::Config{'dlext'}\E$/i
1640 0 190 if ($rv->{$key} and _not_dup($key, $rv, $rv_sub)) { }
0 190 elsif ($rv->{$key}) { }
1675 0 0 if ('File::Spec'->case_tolerant) { }
1685 0 0 if $SeenRuntimeLoader{$module}++
1695 82 0 unless $warn
1696 0 0 unless $module =~ /\.p[ml]$/
1697 0 0 if not -f $module
1703 1978 56 unless my $preload = $Preload{$pm}
1704 1 55 if ($preload eq 'sub') { }
29 26 elsif (UNIVERSAL::isa($preload, 'CODE')) { }
1722 0 406 if $seen->{$pm}