Branch Coverage

blib/lib/Perl6/Perldoc/Parser.pm
Criterion Covered Total %
branch 231 378 61.1


line true false branch
61 0 152 defined $$range_ref{'file'} ? :
72 141 1 if $$top{'is_blank_terminated'} or $$top{'is_implicit'} or $$top{'typename'} =~ /\A (?: \(ambient\) | list | DATA | END ) /msx
77 0 1 $$top{'style'} eq 'formatting' ? :
85 1 0 if ($$top{'style'} eq 'delimited') { }
98 0 1 $block_type =~ /[ ]/ ? :
187 329 713 if (not $$top{'content'} or ref $$top{'content'}[-1]) { }
220 24 47 unless $options =~ /\S/
226 0 0 $val =~ /^ $LEFT_ANGLE\s*(.*?)\s*$RIGHT_ANGLE $/msx ? :
17 0 $val =~ /^ \<\s*(.*?)\s*\> $/msx ? :
0 17 $val =~ /^(\{ .* \})$/msx ? :
0 17 $val =~ /^(\[ .* \])$/msx ? :
6 17 $val =~ /^ \((.*)\) $/msx ? :
24 23 !length($val) ? :
3 47 $neg ? :
250 8 0 if ($disjoint and $depth == 1 and $type eq 'item')
255 13 33 if ($depth > @{$numbers;}) { }
30 3 elsif ($depth == @{$numbers;}) { }
274 450 127 if ($$data{'typename'} =~ /\A (\w+?)(\d*) \Z/msx)
280 430 20 unless (defined $explicitly_numbered)
294 46 404 if ($explicitly_numbered or $implicitly_numbered)
296 23 23 if ($implicitly_numbered)
309 348 450 unless ref $subtree
322 0 577 unless $$tree{'content'}
323 450 348 if (ref $subtree)
334 127 450 if ($typename =~ /^\( (\w+) \)/msx) { }
66 384 elsif ($$tree{'style'} eq 'formatting') { }
9 375 elsif ($$tree{'style'} eq 'directive') { }
7 368 elsif ($typename =~ /[[:upper:]]/msx and $typename =~ /[[:lower:]]/msx) { }
358 36 332 if ($classname =~ /:: head (\d+) \z/msx) { }
30 302 elsif ($classname =~ /:: item (\d+) \z/msx) { }
361 3 33 if ($head_level > $head_max)
380 576 1 if $classname->can('new')
384 1 0 if ($is_reserved)
401 0 9 $config{$target_block} ? :
405 1 8 if ($likeness)
406 1 0 ref $likeness eq 'ARRAY' ? :
409 0 1 unless $$curr_config_ref{$alike}{$option}
417 1 9 if $opt eq 'like'
422 8 1 if (not $old_type) { }
0 1 elsif ($old_type ne $new_type) { }
1 0 elsif ($old_type eq 'ARRAY') { }
0 0 elsif ($old_type eq 'HASH') { }
453 75 1318 if not $line =~ /\S/msx or $is_comment
460 1294 8 if not $is_in_list || $is_item or $is_in_list and $is_item and $list_level == $item_level
465 2 22 if ($list_level < $item_level - 1)
499 81 69 unless $$top_ref{'options'}
500 1 149 if (my $like = $options{'like'})
501 1 0 (ref $like || '') eq 'ARRAY' ? :
504 0 1 unless $$config_ref{$likeness}
523 138 3 unless $formatted
526 0 3 if ((ref $formatted || '') ne 'ARRAY')
542 0 5 unless ($fcode =~ /$FORMATTING_CODE/)
568 128 306 unless $$top{'allow'}
571 10 424 if (my $src_ref = $$options{'allow'} || $$config{'allow'})
572 10 0 if (ref $src_ref eq 'ARRAY') { }
590 0 128 if $$opt_ref{'reset_id'}
593 1 127 if (not ref $filehandle) { }
1 126 elsif (ref $filehandle eq 'SCALAR') { }
596 1 0 unless open $filehandle, '<', $filename
600 0 0 if (not exists $$opt_ref{'all_pod'} or $$opt_ref{'all_pod'} =~ /\A auto \z/imsx)
609 0 1 unless open $filehandle, '<', $data_source
631 116 11 if ($$opt_ref{'all_pod'})
667 71 1583 if ($has_options_pending)
669 2 69 if ($line =~ / \G ^ = (\s+ $OPTIONS) \s* $ /cgmosx) { }
686 60 9 if ($$top{'style'} =~ /\A (?:delimited|paragraph) \z/msx)
702 248 1404 if ($line =~ / \G ($$top{'terminator'}) /cgmsx)
706 85 163 if (length $terminator == 0)
712 7 241 if ($$top{'style'} eq 'formatting' and $$top{'delim_nesting'}) { }
723 1 240 if ($$block{'typename'} eq 'END')
729 0 240 if ($$block{'typename'} eq '(use)')
731 0 0 if (eval "require $source") { }
732 0 0 unless $$block{'config'}{'use'}
733 0 0 unless $$block{'options'}
750 240 0 if ($$block{'style'} ne 'implicit' or $$block{'content'}) { }
770 7 1397 if ($$top{'typename'} eq 'comment' and not $line =~ /$DIR_COMMENT_BLOCK/)
771 6 1 if (not $$top{'content'} or ref $$top{'content'}[-1]) { }
781 156 1241 if ($is_directive)
783 3 153 if ($line =~ /\G ^ =end \s+ (\S+) /cgmsx)
785 2 1 if ($type eq 'END') { }
797 35 118 if ($line =~ /\G ^ =begin \s+ ($IDENT) ($OPTIONS?) \s* (.*) $/cgmosx)
801 0 35 if ($junk)
808 2 32 $is_item ? :
826 2 33 $type eq 'END' ? :
837 3 32 $type eq 'table' ? :
861 25 93 if ($line =~ / \G ^ =for \s+ ($IDENT) ($OPTIONS?) \s* (.*) $ /cgmosx)
865 1 24 if ($junk)
875 6 12 $is_item ? :
895 1 24 $type eq 'table' ? :
921 1 92 if ($line =~ / \G ^ =use \s+ (\S+) ($OPTIONS?) \s* ([^\n]*) \n /cgmosx)
926 0 1 if ($junk)
936 0 1 if ($source =~ /\A (?:perl5:)? $QUAL_IDENT \Z/msx)
957 0 1 if ($options)
965 1 0 unless (-r $source)
971 0 0 if ($source =~ / [.]pod6 \Z /msx)
978 0 0 if ($$result_ref{'tree'})
989 0 0 if ($$result_ref{'errors'})
992 0 0 if ($$result_ref{'warnings'})
1001 0 92 if ($line =~ / \G ^ =encoding \s+ (\S+) \s* ([^\n]*) \n /cgmosx)
1005 0 0 if ($junk)
1031 9 83 if ($line =~ / \G ^ =config \s+ ($FORMATTING_CODE<>|$IDENT) ($OPTIONS?) \s* ([^\n]*) \n /cgmosx)
1035 0 9 if ($junk)
1078 81 2 if ($line =~ / \G ^ = ($IDENT) \s* /cgmosx)
1084 12 47 $is_item ? :
1103 3 78 $type eq 'table' ? :
1142 1 1 if ($line =~ / \G ^ = (\s+ $OPTIONS) \s* $ /cgmosx)
1158 0 1242 if (@stack == 1)
1167 46 1196 if ($$top{'typename'} =~ /^(?:\(ambient\)|table)$/msx or $$top{'typename'} =~ /[[:upper:]]/ and $$top{'typename'} =~ /[[:lower:]]/)
1171 46 0 if ($line =~ / \G (.*) /cgmsx)
1180 143 1053 if (pos $line == 0 and $$top{'permits_implicit_blocks'})
1181 16 127 $$top{'style'} eq 'delimited' ? :
1185 3 140 if ($line =~ / \G ^ (?= [^\S\n]+ \S [^\n]* $ ) /cgmsx) { }
93 47 elsif ($line =~ / \G (?= \S .* $ ) /cgmsx) { }
1238 61 992 if (!$$top{'is_verbatim'} || exists $$top{'allow'}{substr $line, pos $line, 1} and $line =~ / \G ($FORMATTING_CODE) ((?><+)|$LEFT_ANGLE) /cgmosx)
1250 59 2 $delim =~ /
1251 58 3 length $delim == 1 ? :
1257 47 14 if ($rdelim =~ />/ and not $rdelim =~ /$$top{'terminator'}/)
1281 2 59 if ($type eq 'P')
1290 7 985 if ($$top{'style'} eq 'formatting' and $line =~ / \G ($$top{'initiator'}) /cgmsx)
1302 4 175 if ($$top{'style'} eq 'formatting' and $$top{'typename'} =~ /\A [DLX] \Z/msx and $line =~ / \G [|] /cgmsx)
1309 985 0 if ($line =~ / \G ( [\xAB<]+ | [^A-Z|\n<>\xAB\xBB]+ | . ) /cgmsx)
1311 7 978 if (exists $$top{'target'}) { }
1343 0 206 if ($$block{'typename'} eq '(use)')
1345 0 0 if (eval "require $source") { }
1346 0 0 unless $$block{'config'}{'use'}
1347 0 0 unless $$block{'options'}
1376 1 1 unless $$toc_placement_obj{'content'}[0] =~ /\A \s* toc:/msx
1404 0 1 if (exists $toc_wants{'item'} or exists $toc_wants{'item1'})
1457 10 17 if ($node_type eq 'HASH') { }
10 7 elsif ($node_type eq 'ARRAY') { }
1458 0 10 if $$node{'ignore_toc'}
1466 4 6 if ($wanted)
1467 0 0 $node_class =~ /\A head (\d+) \z/msx ? :
4 0 $$node{'is_semantic'} ? :
1518 0 0 if (@{$$self{'warnings'};})
1523 0 0 if (@{$$self{'errors'};})
1527 0 0 if (@_) { }
1528 0 0 if require Carp
1576 2 485 unless (wantarray)
1577 1 1 if (@{$vals_ref;} > 1)
1578 1 0 if require Carp
1590 0 0 if defined $$self{'options'}{$opt_name}
1592 0 0 if defined $$self{'config'}{$opt_name}
1604 0 0 if (ref $value eq 'ARRAY')
1609 0 0 unless $$opt_ref{'as_objects'}
1613 0 0 unless ($$self{$cache_slot})
1614 0 0 unless open my $fh, '<', \$value
1703 0 0 if (exists $$self{'number'})
1707 0 0 unless (wantarray)
1708 0 0 if (@{$vals_ref;} > 1)
1709 0 0 if require Carp
1791 0 0 if (exists $$self{'number'})
1792 0 0 $self->is_post_numbered ? :
1904 2 0 if (my $synonyms = delete $$data_ref{'target'})
1914 0 0 unless (wantarray)
1915 0 0 if (@{$vals_ref;} > 1)
1916 0 0 if require Carp
1956 0 0 if ($type eq 'HASH') { }
0 0 elsif ($type eq 'ARRAY') { }
1957 0 0 if $$data{'ignore_toc'}
1973 0 1 unless ($$self{'target'})
1997 2 0 defined $$data_ref{'content'} ? :
2001 1 1 if ($$content_ref[0] =~ s/\A \s* ($QUAL_IDENT) \s* ://msx) { }
2062 1 0 if (my $entries = delete $$data_ref{'target'}) { }
2066 0 0 unless $$data_ref{'content'}
2068 0 0 @{[] unless $$data_ref{'content'};} <= 1 ? :
2077 0 0 unless (wantarray)
2078 0 0 if (@{$vals_ref;} > 1)
2079 0 0 if require Carp
2101 0 0 if (my $title = $self->caption({'as_objects', 1}))
2111 0 7 unless (wantarray)
2112 0 0 if (@{$vals_ref;} > 1)
2113 0 0 if require Carp
2147 7 21 if ($next > $max)
2177 1119 724 if ($char =~ /[-=_ ]/) { }
10 714 elsif ($char =~ /[|+]/) { }
2193 2 95 $is_visible{$pos} ? :
2200 2 5 $template =~ /^0/ ? :
2201 3 4 $template =~ /0$/ ? :
2245 0 63 if @{$cell;} == grep(/\A (\s* \|) \s* \Z/msx, @{$cell;})
2253 5 58 if ($content =~ /\A ([^\S\n]+)/msx)
2258 0 63 unless open my $fh, '<', \$content
2310 1 2 @rest == 1 && !$bottom_sep ? :
4 3 @rest == 0 ? :
2331 0 25 unless (wantarray)
2332 0 0 if (@{$vals_ref;} > 1)
2333 0 0 if require Carp
2349 0 63 unless (wantarray)
2350 0 0 if (@{$vals_ref;} > 1)
2351 0 0 if require Carp