Branch Coverage

blib/lib/YAML/PP/Parser.pm
Criterion Covered Total %
branch 204 238 85.7


line true false branch
8 0 51 $ENV{'YAML_PP_TRACE'} ? :
9 1 50 $ENV{'YAML_PP_DEBUG'} || $ENV{'YAML_PP_TRACE'} ? :
36 4002 765 if ($receiver)
55 4002 774 if (ref $receiver eq 'CODE') { }
160 162 7528 if (my $error = $@)
161 124 38 if (ref $error)
180 7537 34342 unless @$next_tokens
184 6147 28195 if $next->{'name'} ne "SPACE"
189 14465 13730 if (not $space) { }
195 720 27475 if ($flow)
196 717 3 if ($space >= $indent)
202 8267 19208 if ($space > $indent)
203 6145 2122 if $indent < 0
204 4 2118 unless ($self->new_node)
209 1289 17919 if ($self->new_node) { }
210 437 852 if ($space < $indent) { }
218 563 289 if ($seq_start and $exp eq 'MAPVALUE' || $exp eq 'MAP') { }
226 2199 15720 if ($space < $indent)
233 242 18966 if ($exp eq "SEQ0" and $next->{'name'} ne "DASH")
239 4 19204 if ($self->offset->[-1] != $space)
346 69 7587 unless ($self->lex_next_tokens)
350 7587 0 unless ($self->new_node)
351 0 7587 if ($self->level > 0)
352 0 0 unless my $new_rule = $nodetypes{$event_types->[-1]}
360 0 7587 unless my $rule = $YAML::PP::Parser::GRAMMAR->{$rule_name}
371 0 291090 unless (@$next_tokens)
376 46305 244785 if ($got eq "CONTEXT")
379 41586 4719 unless $self->lexer->flowcontext
385 163029 81756 if ($def) { }
81708 48 elsif ($def = $rule->{'DEFAULT'}) { }
399 122388 122349 if (my $sub = $def->{'match'})
401 118551 3837 @$tokens ? :
405 124079 120625 if ($new) { }
26297 94328 elsif ($eol) { }
6786 87542 elsif ($def->{'return'}) { }
413 0 6786 unless $rule_name = $nodetypes{$event_types->[-1]}
422 34224 122938 if ($eol)
423 7468 26744 unless ($self->lex_next_tokens)
424 1 7467 if ($rule_name eq "DIRECTIVE")
430 21307 5437 unless ($self->new_node)
431 20423 884 if ($self->level > 0)
432 0 20423 unless $rule_name = $nodetypes{$event_types->[-1]}
439 0 149682 unless $rule = $YAML::PP::Parser::GRAMMAR->{$rule_name}
464 11306 8633 if ($offset->[-1] <= $space)
467 51 8582 if ($exp eq "MAPVALUE")
497 154 8162 if ($directive)
514 563 2695 if ($offsets->[-1] == $offset) { }
523 227 3031 if (@$event_stack and $event_stack->[-1][0] eq "properties")
535 164 1276 if ($new_offset < 0) { }
1213 63 elsif ($self->new_node) { }
539 1008 205 unless ($event_types->[-1] =~ /^FLOW/)
548 42 1398 if (@$event_stack and $event_stack->[-1][0] eq "properties")
559 409 810 if ($new_offset < 0) { }
706 104 elsif ($self->new_node) { }
563 618 88 unless ($event_types->[-1] =~ /^FLOW/)
567 9 1210 $implicit_flowseq_map ? :
572 71 1148 if (@$event_stack and $event_stack->[-1][0] eq "properties")
585 258 1158 if ($event_types->[-1] =~ /^FLOW|^IMAP/) { }
600 182 1015 if ($event_types->[-1] =~ /^FLOW|^IMAP/) { }
622 492 5208 if (@$event_stack and $event_stack->[-1][0] eq "properties")
633 1 8677 if ($event_types->[-1] =~ /FLOW/)
636 501 8176 if ($self->new_node)
641 474 8196 if ($event_types->[-1] eq "STR")
645 0 8196 if ($last ne "DOC" and $last ne "DOC_END")
653 8120 73 if ($self->yaml_version eq "1.2")
665 0 7528 unless $last eq "STR"
678 3438 0 if ($properties)
681 0 3486 if (exists $info->{$type})
685 3046 440 unless (defined $property_offset)
691 2909 529 unless $properties->{'newline'}
694 2909 529 unless ($properties)
701 1164 0 if ($properties)
704 1 1335 if (exists $info->{$type})
717 445 48678 if (@$event_stack and $event_stack->[-1][0] eq "properties")
731 2 554 if (@$event_stack and $event_stack->[-1][0] eq "properties")
745 5 0 $type eq 'string' ? :
750 1 4 if ($error)
764 1 0 if ($next_line)
765 1 0 if ($self->lexer->offset > 0) { }
773 0 1 unless defined $remaining
782 0 0 if (ref $event eq "ARRAY")
805 0 0 defined $_ ? :
817 0 0 if (@$next_tokens)
826 0 1 unless defined $line
868 0 0 if (ref $rule eq 'ARRAY') { }
870 0 0 if (ref $first eq 'SCALAR') { }
874 0 0 if (ref $first eq "ARRAY")
921 61 2 @$next ? :
922 61 2 @$next ? :
926 38 25 if ($next_line)
927 36 2 if ($self->lexer->offset > 0) { }
964 2239 500 if (not @$stack or $stack->[-1][0] ne "properties")
979 75 2664 if ($tag eq '!') { }
133 2531 elsif ($tag =~ /^!<(.*)>/) { }
2531 0 elsif ($tag =~ /^(![^!]*!|!)(.+)/) { }
989 2299 232 if (exists $map->{$alias}) { }
993 2 230 if ($alias ne "!" and $alias ne "!!")
1010 1844 249 if (not @$stack or $stack->[-1][0] ne "properties")
1026 0 1191 unless my $inline = delete $last->{'inline'}
1039 72 13100 if (@$stack and $stack->[-1][0] eq "properties")
1055 739 26591 unless $last
1058 9 26572 if ($e->[-1] eq "IMAP")
1071 9 104 if (@$stack and $stack->[-1][0] eq "properties")
1159 2023 2032 $subtokens->[0]{'value'} eq '"' ? :
1160 236 3819 if (@$stack and $stack->[-1][0] eq "properties")
1176 421 68 $subtokens->[0]{'value'} eq '"' ? :
1177 16 473 if (@$stack and $stack->[-1][0] eq "properties")
1198 9 232 if (@$stack and $stack->[-1][0] eq "properties")
1213 2216 23196 if (@$stack and $stack->[-1][0] eq "properties")
1240 1752 693 if ($event_types->[-1] =~ /^FLOWSEQ/)
1259 247 165 if (@$stack and $stack->[-1][0] eq "properties")
1286 21 1004 if (@$stack and $stack->[-1][0] eq "properties")
1302 154 8 $subtokens->[0]{'value'} eq '"' ? :
1303 2 160 if (@$stack and $stack->[-1][0] eq "properties")
1332 167 410 if (@$stack and $stack->[-1][0] eq "properties")
1398 248 182 if (@$stack and $stack->[-1][0] eq "properties")
1416 1180 532 $type eq '|' ? :
1417 82 1630 if (@$stack and $stack->[-1][0] eq "properties")
1461 1 158 if ($self->yaml_version_directive)