Branch Coverage

blib/lib/Pod/Perldoc.pm
Criterion Covered Total %
branch 18 624 2.8


line true false branch
20 1 0 unless (defined &Pod::Perldoc::DEBUG)
21 0 1 if (($ENV{'PERLDOCDEBUG'} || '') =~ /^(\d+)/) { }
23 0 0 if $@
37 0 0 if defined &Pod::Perldoc::DEBUG
42 0 0 unless $self->debugging
65 0 1 $^O eq 'VMS' ? :
1 0 unless defined &Pod::Perldoc::is_vms
66 0 1 $^O eq 'MSWin32' ? :
1 0 unless defined &Pod::Perldoc::is_mswin32
67 0 1 $^O eq 'dos' ? :
1 0 unless defined &Pod::Perldoc::is_dos
68 0 1 $^O eq 'os2' ? :
1 0 unless defined &Pod::Perldoc::is_os2
69 0 1 $^O eq 'cygwin' ? :
1 0 unless defined &Pod::Perldoc::is_cygwin
70 1 0 $^O eq 'linux' ? :
1 0 unless defined &Pod::Perldoc::is_linux
71 0 1 $^O =~ /hpux/ ? :
1 0 unless defined &Pod::Perldoc::is_hpux
72 0 1 $^O eq 'amigaos' ? :
1 0 unless defined &Pod::Perldoc::is_amigaos
109 0 0 if ($value =~ /^([-_a-zA-Z][-_a-zA-Z0-9]*)(?:[=\:](.*?))?$/s) { }
111 0 0 defined $2 ? :
122 0 0 unless defined $classes and length $classes
126 0 0 unless $classname =~ /\S/
127 0 0 if ($classname =~ /^(\w+(::\w+)+)$/s) { }
146 0 0 defined &Win32::BuildNumber && defined &Win32::BuildNumber() ? :
161 0 0 if @_ and $_[0]
167 0 0 if @_ and $_[0]
174 0 0 if @_ and $_[0]
180 0 0 unless defined $rest and length $rest
181 0 0 if ($rest =~ /^(\w+)$/s) { }
245 0 0 if ($self->opt_D)
265 0 0 if @_
330 0 0 if (my $link = readlink $0)
356 0 0 if $untainted
375 0 0 if $untainted
421 0 0 if (@_ > 2) { }
437 0 0 if ($] < 5.008) { }
456 0 0 unless exists $self->{'pagers'}
457 0 0 unless exists $self->{'bindir'}
458 0 0 unless exists $self->{'pod2man'}
459 0 0 unless exists $self->{'search_path'}
492 0 0 unless $self->is_mswin32 or $self->is_dos or $self->is_amigaos or not $ENV{'TERM'} && !(($ENV{'TERM'} || '') =~ /dumb|emacs|none|unknown/i)
521 0 0 unless @{$self->{'args'};}
525 0 0 unless $self->opt_U or $self->opt_F
536 0 0 if ($self->opt_f) { }
0 0 elsif ($self->opt_q) { }
0 0 elsif ($self->opt_v) { }
0 0 elsif ($self->opt_a) { }
545 0 0 unless @pages
554 0 0 $self->is_vms ? :
0 0 unless @found
556 0 0 if ($self->opt_l and not $self->opt_q)
564 0 0 if $self->opt_m
576 0 0 unless $self->{'formatter_classes'}
577 0 0 unless @class_list
580 0 0 if $INC[-1] eq '.'
585 0 0 if ($class_loaded{$c})
591 0 0 if ($class_seen{$c})
599 0 0 if ($c->can('parse_from_file')) { }
0 0 elsif ($self->is_os2 || $self->is_mswin32 || $self->is_dos || $self->is_os2 and $class_seen{lc "~$c"}++) { }
615 0 0 if ($self->opt_D) { }
624 0 0 if ($@)
630 0 0 if ($c->can('parse_from_file')) { }
633 0 0 defined $v && length $v ? :
642 0 0 unless $good_class_found
659 0 0 if (not $self->opt_T and $formatter_class->can('is_pageable') and not $formatter_class->is_pageable and not $formatter_class->can('page_for_perldoc'))
668 0 0 if length $ext
688 0 0 if ($self->opt_d) { }
0 0 elsif ($formatter->can('page_for_perldoc') and do { $self->aside(qq[Going to call $formatter->page_for_perldoc("$out")\n]); if ($formatter->page_for_perldoc($out, $self)) { $self->aside("page_for_perldoc returned true, so NOT paging with $self.\n"); 1; } else { $self->aside("page_for_perldoc returned false, so paging with $self instead.\n"); ''; } }) { }
692 0 0 unless -s $out
699 0 0 if ($formatter->page_for_perldoc($out, $self)) { }
713 0 0 if (-s $out) { }
736 0 0 if (defined $ENV{'PERLDOC'} and length $ENV{'PERLDOC'}) { }
751 0 0 unless Pod::Perldoc::GetOptsOO::getopts($self, $self->{'args'}, 'YES')
757 0 0 if $self->opt_h
767 0 0 if ($self->opt_X)
769 0 0 unless -f $podidx and -r _ and -M _ <= 7
773 0 0 if $self->opt_T or not -t STDOUT
779 0 0 if ($self->opt_n)
784 0 0 if (not $self->opt_L and $ENV{'PERLDOC_POD2'})
785 0 0 if ($ENV{'PERLDOC_POD2'} eq '1') { }
794 0 0 if $self->opt_L
819 0 0 if ($self->opt_f or $self->opt_q or $self->opt_a)
821 0 0 if $self->opt_f
822 0 0 if $self->opt_q
823 0 0 if $self->opt_a
824 0 0 if $count > 1
830 0 0 if @{$self->{'args'};}
841 0 0 if (m[^http(s)?://])
845 0 0 if ($response->{'success'}) { }
849 0 0 m[.*/([^/#?]+)] ? :
854 0 0 $self->opt_m ? :
856 0 0 if (/^https/)
862 0 0 if ($self->{'podidx'} and open PODIDX, $self->{'podidx'})
868 0 0 if m[/$searchfor(?:\.(?:pod|pm))?\z]i
870 0 0 unless close PODIDX
876 0 0 if ($self->opt_F)
877 0 0 unless -r $_
878 0 0 if $self->opt_l or $self->opt_m or $self->containspod($_)
890 0 0 unless ($self->opt_m)
891 0 0 if ($self->is_vms) { }
904 0 0 if (@files) { }
0 0 elsif (not /\W/ and @files = $self->searchfor(0, "perl$_", @searchdirs)) { }
914 0 0 if $self->opt_r
915 0 0 if (@files) { }
919 0 0 $self->opt_m ? :
921 0 0 if (@{$self->{'found'};})
925 0 0 unless opendir DIR, $dir
927 0 0 if $file =~ /^\./s
931 0 0 unless closedir DIR
947 0 0 if $self->opt_a
949 0 0 if $self->opt_f
951 0 0 if $self->opt_v
953 0 0 if $self->opt_q
955 0 0 if (not $self->opt_f || $self->opt_q || $self->opt_v || $self->opt_a) { }
0 0 elsif (@dynamic_pod) { }
960 0 0 if ($] >= 5.008 and $self->opt_L)
970 0 0 if $in_list
971 0 0 unless print $buffd @dynamic_pod
972 0 0 if $in_list
974 0 0 unless close $buffd
994 0 0 if @_ == 2
1002 0 0 if @_
1017 0 0 if $INC[-1] eq '.'
1020 0 0 if (not $@ and $pack->can('new'))
1025 0 0 if $@
1036 0 0 if (defined $tr) { }
1055 0 0 unless open my $fh, $op, $path
1062 0 0 if ($encoding =~ /utf-?8/i) { }
1069 0 0 if ($] < 5.008) { }
1084 0 0 unless ($opt =~ /^ (?: [\@\%\$]\S+ | [A-Z]\w* ) $/x)
1093 0 0 if ($opt ne '$0' and $opt =~ /^\$\d+$/)
1105 0 0 if /^=encoding\s+(\S+)/
1106 0 0 if /^=over 8/
1109 0 0 if $enc
1116 0 0 if /^=head2 Error Indicators/
1118 0 0 if (/^=item\s+$search_re\s/) { }
0 0 elsif (/^=item/) { }
0 0 elsif (not /^\s+$/) { }
1122 0 0 if $found and not $inheader and not $inlist
1125 0 0 if ($found) { }
1135 0 0 if (/^=over/) { }
0 0 elsif (/^=back/) { }
1139 0 0 if $found and not $inheader and not $inlist
1145 0 0 unless $found
1146 0 0 unless (@$pod)
1149 0 0 unless close $fh
1175 0 0 if $line =~ /^=encoding\s+(\S+)/
1177 0 0 if ($line =~ /^X/)
1181 0 0 if $skip
1190 0 0 if ($line =~ /X<+\s*\Q$thing\E\s*>+/) { }
0 0 elsif ($push and $line =~ /^=item\s*.*$/) { }
0 0 elsif ($push and $seen_item and $line =~ /^X<+\s*[ a-z,?-]+\s*>+/) { }
0 0 elsif ($push) { }
1191 0 0 if ($previous_line)
1218 0 0 if (scalar @$pod) { }
1258 0 0 if /^=encoding\s+(\S+)/
1260 0 0 if (/^=item\s+$search_re\b/) { }
0 0 elsif (@related > 1 and /^=item/) { }
0 0 elsif (/^=item/) { }
0 0 elsif ($found and /^X<[^>]+>/) { }
1265 0 0 if (/^=item\s+(?:$related_re)\b/) { }
1273 0 0 if $found > 1 and not $inlist
1278 0 0 unless $found
1279 0 0 if (/^=over/) { }
0 0 elsif (/^=back/) { }
1283 0 0 if $found > 1 and not $inlist
1287 0 0 if /^\w/
1290 0 0 unless (@$pod)
1296 0 0 unless close $fh
1312 0 0 $self->opt_f =~ /^-[rwxoRWXOeszfdlpSbctugkTBMAC]$/ ? :
1321 0 0 if ($self->opt_L and defined $self->{'translators'}[0])
1323 0 0 if $tr->can('search_perlfunc_re')
1324 0 0 if ($] < 5.008)
1332 0 0 if /^=encoding\s+(\S+)/
1333 0 0 if /^=head2 (?:$re|Alphabetical Listing of Perl Functions)/
1345 0 0 if grep {$self->opt_f eq $_;} @perlops
1347 0 0 if (/^=over/ and not $found) { }
0 0 elsif (/^=back/ and not $found and $inlist) { }
1355 0 0 if (/^=item\s+$search_re\b/ and $inlist < 2) { }
0 0 elsif (@related > 1 and /^=item/) { }
0 0 elsif (/^=item|^=back/) { }
0 0 elsif ($found and /^X<[^>]+>/) { }
1360 0 0 if (/^=item\s+(?:$related_re)\b/) { }
1364 0 0 if $found > 1 and $inlist < 2
1368 0 0 if $found > 1 and $inlist < 2
1373 0 0 unless $found
1374 0 0 if (/^=over/) { }
0 0 elsif (/^=back/) { }
1381 0 0 if /^\w/
1384 0 0 unless (@$pod)
1388 0 0 unless (@$pod)
1394 0 0 unless close $fh
1408 0 0 unless my $rx = eval { do { qr/$search_key/ } }
1418 0 0 if $file =~ /[<>|]/
1421 0 0 if /^=encoding\s+(\S+)/
1422 0 0 if (/^=head2\s+.*(?:$search_key)/i) { }
0 0 elsif (/^=head[12]/) { }
1424 0 0 unless $found_in{$file}++
1429 0 0 unless $found
1434 0 0 unless @$pod
1437 0 0 if ($self->opt_l)
1453 0 0 $formatter_class->can('new') ? :
1458 0 0 if (not @$found_things) { }
0 0 elsif (@$found_things > 1) { }
1475 0 0 if (ref $formatter)
1476 0 0 unless $self->{'formatter_switches'}
1478 0 0 if ($formatter->can($switch)) { }
1479 0 0 defined $value ? :
1480 0 0 if $@
1483 0 0 if ($silent_fail or $switch =~ /^__/s) { }
1495 0 0 if ($self->{'podnames'} and exists $self->{'podnames'}{$file} and $formatter->can('name'))
1509 0 0 if ($self->opt_D) { }
1520 0 0 if $@
1523 0 0 unless close $out_fh
1531 0 0 unless (-s $out)
1532 0 0 if ($formatter->can('if_zero_length')) { }
1543 0 0 if wantarray
1556 0 0 unless defined $file and length $file
1559 0 0 if (grep(($_ eq $file), @$temp_file_list)) { }
1561 0 0 unless unlink $file
1573 0 0 if $self->is_vms
1574 0 0 if $self->is_mswin32
1575 0 0 if $self->is_dos
1576 0 0 if $self->is_os2
1593 0 0 if -f $path and -r _
1595 0 0 if (not $self->opt_i or $self->is_vms or $self->is_mswin32 or $self->is_dos or $self->is_os2)
1601 0 0 if -f _
1612 0 0 if (-d _) { }
0 0 elsif (-f _ and -r _ and lc $try eq lc $path) { }
0 0 elsif (-f _) { }
0 0 elsif (-d catdir(@p)) { }
1614 0 0 if ($p eq $self->{'target'})
1618 0 0 if $_ eq $tmp_path
1620 0 0 unless $path_f
1634 0 0 unless opendir DIR, $p_dirspec
1636 0 0 if (lc $cip eq $lcp)
1641 0 0 unless closedir DIR
1642 0 0 unless $found
1646 0 0 if -f $p_filespec and -r _
1647 0 0 if -f _
1665 0 0 if ($self->is_mswin32) { }
0 0 elsif ($self->is_vms) { }
0 0 elsif ($self->is_dos) { }
0 0 elsif ($self->is_amigaos) { }
1667 0 0 if $ENV{'PAGER'}
1674 0 0 if $ENV{'PAGER'}
1678 0 0 if $ENV{'PAGER'}
1681 0 0 if ($self->is_os2)
1685 0 0 if $ENV{'PAGER'}
1688 0 0 if ($self->is_cygwin)
1689 0 0 if ($pagers[0] eq 'less' or $pagers[0] eq '/usr/bin/less')
1691 0 0 if $ENV{'PAGER'}
1695 0 0 if ($self->opt_m) { }
1697 0 0 if $ENV{'PERLDOC_SRC_PAGER'}
1699 0 0 if $ENV{'MANPAGER'}
1700 0 0 if $ENV{'PERLDOC_PAGER'}
1725 0 0 if (@found > 1)
1742 0 0 unless (ref $self)
1753 0 0 if (length $dir and not -d $dir)
1759 0 0 $self->opt_m ? :
0 0 if (length $path and $self->opt_m ? $self->isprintable($path) : $self->containspod($path))
1775 0 0 if not $readit and $file =~ /\.(?:pl|pm|pod|cmd|com|bat)\z/i
1791 0 0 if not $readit and $file =~ /\.pod\z/i
1807 0 0 if ($self->is_cygwin and -x $file and -f "$file.exe")
1809 0 0 if $self->opt_D
1816 0 0 if (/^=head/)
1817 0 0 unless close $fh
1821 0 0 unless close $fh
1832 0 0 if (-f 'Makefile.PL' or -f 'Build.PL')
1837 0 0 if ($< and $> and -d 'blib')
1839 0 0 if $@ and $self->opt_D
1853 0 0 unless defined $outspec and length $outspec
1861 0 0 if $self->{'output_is_binary'}
1879 0 0 unless @$pages
1882 0 0 unless defined $chunk
1885 0 0 if ($chunk =~ m[([^\#\\:/\$]+)$]s) { }
1891 0 0 if length $chunk > 10
1910 0 0 if ($output_to_stdout) { }
1915 0 0 unless print $_
1917 0 0 unless close $fh
1923 0 0 if $self->is_vms
1925 0 0 if $self->is_mswin32 or $self->is_dos
1931 0 0 if $self->is_amigaos
1935 0 0 if ($self->is_vms) { }
0 0 elsif ($self->is_amigaos) { }
1936 0 0 if system("$pager $output") == 0
1938 0 0 if system($pager, $output) == 0
1941 0 0 if ($formatter->can('pager_configuration'))
1945 0 0 if system(qq[$pager "$output"]) == 0
1957 0 0 if $self->is_vms
1958 0 0 if -f $s and $self->containspod($s)
1966 0 0 unless -d $dir
1967 0 0 if $self->is_vms
1968 0 0 if (not $self->opt_m and $ret = $self->check_file($dir, "$s.pod") or $ret = $self->check_file($dir, "$s.pm") or $ret = $self->check_file($dir, $s) or $self->is_vms and $ret = $self->check_file($dir, "$s.com") or $self->is_os2 and $ret = $self->check_file($dir, "$s.cmd") or $self->is_mswin32 || $self->is_dos || $self->is_os2 and $ret = $self->check_file($dir, "$s.bat") or $ret = $self->check_file("$dir/pod", "$s.pod") or $ret = $self->check_file("$dir/pod", $s) or $ret = $self->check_file("$dir/pods", "$s.pod") or $ret = $self->check_file("$dir/pods", $s))
1986 0 0 if ($recurse)
1987 0 0 unless opendir D, $dir
1989 0 0 if not /^\.\.?\z/s || /^auto\z/s
1993 0 0 unless closedir D
1994 0 0 unless @newdirs
1996 0 0 if $self->is_vms
2010 0 0 if $already_asserted
2015 0 0 if $@
2025 0 0 if ($self->is_mswin32)
2038 0 0 unless keys %ENV
2061 0 0 if (not $self->is_vms || $self->is_mswin32 || $self->is_dos || $self->is_os2 and $> == 0 || $< == 0 and not $self->am_taint_checking)
2068 0 0 unless defined $id
2069 0 0 unless defined $id
2094 0 0 if (not $@ and $< and $>) { }
0 0 elsif ($self->opt_U) { }