Branch Coverage

blib/lib/Pod/Simple.pm
Criterion Covered Total %
branch 206 292 70.5


line true false branch
5 68 0 unless defined &Pod::Simple::DEBUG
26 0 68 if (defined &Pod::Simple::ASCII) { }
30 68 0 unless (defined &Pod::Simple::MANY_LINES)
32 0 68 unless (&MANY_LINES() >= 1)
35 0 68 if (defined &Pod::Simple::UNICODE) { }
68 0 elsif ($] >= 5.008) { }
142 19 0 unless @_
145 0 0 if ($this->{'_processed_encoding'}) { }
147 0 0 if (not $this->{'encoding_command_statuses'}) { }
0 0 elsif ($this->{'encoding_command_statuses'}[-1]) { }
176 0 0 if ($class eq 'Pod::Simple') { }
196 10 869 unless @_
198 869 0 defined $_[0] && ref $_[0] ? :
199 77 792 unless defined $$x
262 0 9 unless defined $d and length $d
263 0 9 unless $d =~ /^[a-zA-Z][a-zA-Z0-9]*$/s
266 0 9 if exists $Known_directives{$d}
273 0 9 if wantarray
285 0 0 unless defined $d and length $d
286 0 0 unless $d =~ /^[a-zA-Z][a-zA-Z0-9]*$/s
289 0 0 if exists $Known_directives{$d}
293 0 0 if wantarray
313 0 572 unless defined $t and length $t
318 0 312 if wantarray
328 0 0 unless defined $t and length $t
333 0 0 if wantarray
353 0 1212 unless defined $new_code and length $new_code
355 0 1212 if $new_code =~ /$xml_name_re/ or $new_code =~ /^[-\.0-9]/s or $new_code =~ /:[-\.0-9]/s
385 0 29 unless defined $new_code and length $new_code
387 0 29 if $new_code =~ /$xml_name_re/ or $new_code =~ /^[-\.0-9]/s or $new_code =~ /:[-\.0-9]/s
395 0 29 if grep(($new_code eq $_), @Known_formatting_codes)
414 18 744 unless defined $line_group and length $line_group
421 2911 744 if length $1 or length $2 or pos $line_group != length $line_group
448 0 51 if (not defined $source) { }
0 51 elsif (ref \$source eq 'GLOB') { }
0 51 elsif (ref $source) { }
0 51 elsif (not length $source) { }
459 0 51 unless open PODSOURCE, "<$source"
476 51 9275 unless defined $lines[-1]
481 51 439 if $at_eof
490 51 439 if $at_eof
505 0 10 unless ref $self
507 0 10 if (not defined $source) { }
0 10 elsif (ref \$source eq 'GLOB') { }
0 10 elsif (ref $source) { }
0 10 elsif (not length $source or $source eq '-' or $source =~ /^<&(?:STDIN|0)$/i) { }
516 0 10 if (not defined $to) { }
0 10 elsif (ref \$to eq 'GLOB') { }
0 10 elsif (ref $to) { }
0 10 elsif (not length $to or $to eq '-' or $to =~ /^>&?(?:STDOUT|1)$/i) { }
0 10 elsif ($to =~ /^>&(?:STDERR|2)$/i) { }
529 0 10 unless open $out_fh, ">$to"
530 0 10 if $self->can("write_with_binmode") and $self->write_with_binmode
544 9 70 if ($self->{'no_whining'})
549 0 70 if $self->{'complain_stderr'}
558 0 8 if $self->{'complain_stderr'}
570 10 68 if ($self->{'no_errata_section'}) { }
585 0 185 if $para->[1]{'~type'}
588 2 183 if join("\n", @{$para;}[2 .. $#$para]) =~ /^\s*(\d+)\.?\s*$/s and $1 ne 1
597 185 1020 if $para->[1]{'~type'}
604 59 961 if ($content =~ /^\s*\*\s*$/s or $content =~ /^\s*$/s) { }
101 860 elsif ($content =~ /^\s*\*\s+(.+)/s) { }
31 829 elsif ($content =~ /^\s*(\d+)\.?\s*$/s) { }
640 0 4444 unless (@_)
642 0 4444 if (ref $_[0] and ref $_[0][0] and $_[0][0][0] eq '~Top') { }
655 1080 3364 if (not $self->{'_output_is_for_JustPod'} and $self->_remap_sequences($treelet)) { }
680 341 739 unless $nixx or $merge
693 6 6186 if ($nixx and ref $treelet->[$i] and $treelet->[$i][0] eq 'X') { }
25 6161 elsif ($merge and $i != 2 and not ref $treelet->[$i] and not ref $$treelet[$i - 1]) { }
1742 4419 elsif (ref $treelet->[$i]) { }
715 206 1536 if ($treelet->[$i][0] eq "L")
718 236 176 if (defined($thing = $treelet->[$i][1]{$attrname}) and ref $thing)
739 2502 1080 if (@stack == 1 and @{$stack[0];} == 3 and not ref $stack[0][2])
767 5147 2404 unless ref $treelet->[$i]
785 4 2400 unless (defined $is)
791 2 2402 if (ref $is) { }
0 2402 elsif ($is eq '0') { }
4 2398 elsif ($is eq '1') { }
824 0 1080 if (@_ == 2 and @{$_[1];} == 3 and not ref $_[1][2])
845 21 0 if ($content =~ /^ (\S+) # 1 : new item \s+ (\S+) # 2 : fallback(s) (?:\s+(\S+))? # 3 : element name(s) \s* $ /sx) { }
858 21 0 defined $3 ? :
862 0 21 unless ($new_letter =~ /^[A-Z]$/s or $new_letter)
871 0 21 if (grep(($new_letter eq $_), @Known_formatting_codes))
883 0 0 unless ($fallbacks_one =~ /^[A-Z](,[A-Z])*$/s or $fallbacks_one eq 0 or $fallbacks_one eq 1)
895 0 21 unless ($elements_one =~ /^[^ ,]+(,[^ ,]+)*$/s)
908 0 0 if exists $Known_formatting_codes{$f} or $f eq 0 or $f eq 1
922 15 27 if (exists $self->{'accept_codes'}{$e}) { }
932 15 6 if (defined $canonical_form) { }
939 2 4 @fallbacks == 1 ? :
968 5112 2403 unless ref $treelet->[$i]
969 2366 37 unless ($treelet->[$i][0] eq "Z")
977 0 37 unless (@{$treelet->[$i];} == 2 or @{$treelet->[$i];} == 3 and $treelet->[$i][2] eq "")
1075 5100 2334 unless ref $treelet->[$i]
1076 1991 343 unless ($treelet->[$i][0] eq "L")
1087 1 342 if (@{$ell;} == 3 and $ell->[2] =~ m[\A\s*/\s*\z])
1092 0 342 if (@{$ell;} == 2 or @{$ell;} == 3 and $ell->[2] eq "")
1100 2 340 if (not ref $ell->[2] and $ell->[2] =~ /\A\s/ or not ref $ell->[-1] and $ell->[-1] =~ /\s\z/)
1125 44 298 if (my($url_index, $text_part, $url_part) = sub { foreach $_ (2 .. $#$ell) { next if ref $ell->[$_]; next unless $ell->[$_] =~ /^(?:([^|]*)\|)?(\w+:[^:\s]\S*)$/s; return $_, $1, $2; } ; return; } ->())
1130 136 448 if ref $ell->[$_]
1131 404 44 unless $ell->[$_] =~ /^(?:([^|]*)\|)?(\w+:[^:\s]\S*)$/s
1140 14 30 if defined $text_part
1145 30 14 unless (@text)
1150 33 11 @url == 1 ? :
1162 223 75 if (@{$ell;} == 3 and not ref $ell->[2])
1164 6 217 if ($it =~ m[^[^/|]+[(][-a-zA-Z0-9]+[)]$]s)
1175 127 90 if ($it =~ /^[^\/\|,\$\%\@\ \"\<\>\:\#\&\*\{\}\[\]\(\)]+(\:\:[^\/\|,\$\%\@\ \"\<\>\:\#\&\*\{\}\[\]\(\)]+)*$/s)
1209 119 260 if ref $ell_content[$j]
1213 61 199 if ($ell_content[$j] =~ /^([^\|]*)\|(.*)$/s)
1220 1 60 if ($link_text[0] =~ m[[|/]])
1245 35 183 if ref $ell_content[$j]
1249 100 83 if ($ell_content[$j] =~ m[^([^/]*)/(.*)$]s)
1264 40 60 if (@section_name and not ref $section_name[0] and not ref $section_name[-1] and $section_name[0] =~ /^\"/s and $section_name[-1] =~ /\"$/s and not @section_name == 1 && $section_name[0] eq '"') { }
1287 19 0 if (not $section_name and @ell_content and not ref $ell_content[0] and not ref $ell_content[-1] and $ell_content[0] =~ /^\"/s and $ell_content[-1] =~ /\"$/s and not @ell_content == 1 && $ell_content[0] eq '"')
1302 14 4 if (not $section_name || $link_text and @ell_content and grep((!ref($_) && / /s), @ell_content))
1316 104 61 unless ($link_text)
1319 100 4 if $section_name
1321 51 53 if (@ell_content)
1322 47 4 if $section_name
1330 9 156 if (@ell_content == 1 and not ref $ell_content[0] and $ell_content[0] =~ m[^[^/]+[(][-a-zA-Z0-9]+[)]$]s) { }
1340 133 32 if (defined $section_name)
1347 93 72 if (@ell_content)
1355 165 0 defined $link_text ? :
1383 5628 2477 unless ref $treelet->[$i]
1384 342 2135 if ($treelet->[$i][0] eq 'L') { }
1851 284 elsif ($treelet->[$i][0] ne 'E') { }
1389 403 281 if (defined($thing = $treelet->[$i][1]{$attrname}) and ref $thing)
1407 0 284 if (@{$treelet->[$i];} == 2 or @{$treelet->[$i];} == 3 and $treelet->[$i][2] eq "")
1416 0 284 unless (@{$treelet->[$i];} == 3 and not ref($content = $treelet->[$i][2]))
1438 6 278 if (not defined $charnum) { }
0 278 elsif ($charnum >= 255 and !1) { }
1464 505 575 if $self->{'nbsp_for_S'}
1483 1175 2789 if (ref $treelet->[$i]) { }
1484 12 1163 if (_change_S_to_nbsp($treelet->[$i], $in_s))
1491 18 2771 if $in_s
1511 103 2427 if $attrname =~ /::/
1514 0 7961 unless @_ == 1 || @_ == 2 and ref $_[0]
1519 3893 4068 @_ == 1 ? :
1535 0 0 if (ref($source || '') eq 'SCALAR') { }
0 0 elsif (ref $source) { }
1555 197 327 if @_ and ref($_[0] || '') eq "CODE"
1561 1 523 ref $class && $class->isa('Pod::Simple') ? :
1568 197 327 if $mutor
1583 0 56 unless wantarray
1586 19 37 if @_ and ref($_[0] || '') eq "CODE"
1588 0 56 unless @_ == 2
1603 38 74 if $mutor