Branch Coverage

inc/YAML/Loader.pm
Criterion Covered Total %
branch 69 238 28.9


line true false branch
33 0 1 if $self->stream =~ /$ESCAPE_CHAR/
35 0 1 if length $self->stream and not $$self{'stream'} =~ s/(.)\n\Z/$1/s
47 1 0 unless ($self->eos)
48 0 1 unless ($self->lines->[0] =~ /^---(\s|$)/)
62 1 0 if ($self->lines->[0] =~ /^---\s*(.*)$/) { }
68 0 0 if (defined $directives{$key})
81 1 0 unless ($self->done)
84 0 1 if ($self->done)
93 0 1 if $self->major_version ne '1'
95 0 1 if $self->minor_version ne '0'
97 0 1 unless $directives{'TAB'} =~ /^(NONE|\d+)(:HARD)?$/
102 1 0 wantarray ? :
116 0 4 if ($anchor)
122 1 2 if ($preface =~ s/^($FOLD_CHAR|$LIT_CHAR_RX)(-|\+)?\d*\s*//) { }
124 0 1 if defined $2
127 0 2 if $indicator
132 0 4 if ($alias) { }
2 2 elsif (length $self->inline) { }
1 1 elsif ($indicator eq $LIT_CHAR) { }
0 1 elsif ($indicator eq $FOLD_CHAR) { }
133 0 0 unless defined $self->anchor2node->{$alias}
135 0 0 if (ref $self->anchor2node->{$alias} ne 'YAML-anchor2node') { }
145 0 2 if (length $self->inline)
152 0 1 if $implicit
158 0 0 if $implicit
164 1 0 if ($self->indent == $self->offset->[$self->level]) { }
165 1 0 if ($self->content =~ /^-( |$)/) { }
0 0 elsif ($self->content =~ /(^\?|\:( |$))/) { }
0 0 elsif ($preface =~ /^\s*$/) { }
185 0 4 if ($explicit)
186 0 0 if ($class) { }
187 0 0 unless (ref $node)
198 0 4 if ($anchor)
199 0 0 if (ref $self->anchor2node->{$anchor} eq 'YAML-anchor2node')
220 0 0 if ($preface =~ s/^\!(\S+)\s*//) { }
0 0 elsif ($preface =~ s/^\!\s*//) { }
0 0 elsif ($preface =~ s/^\&([^ ,:]+)\s*//) { }
0 0 elsif ($preface =~ s/^\*([^ ,:]+)\s*//) { }
221 0 0 if $explicit
225 0 0 if $implicit
230 0 0 unless $token =~ /^[a-zA-Z0-9]+$/
232 0 0 if $anchor
233 0 0 if $alias
238 0 0 unless $token =~ /^[a-zA-Z0-9]+$/
240 0 0 if $alias
241 0 0 if $anchor
253 0 0 if ($explicit =~ m[^\!?perl/(hash|array|ref|scalar)(?:\:(\w(\w|\:\:)*)?)?$])
258 0 0 if ($type eq 'ref')
259 0 0 unless exists $$node{"\aYAML\aVALUE\a"} and scalar keys %$node == 1
266 0 0 if ($type eq 'scalar' and length $class and not ref $node)
271 0 0 if (length $class)
277 0 0 if ($explicit =~ m[^!?perl/(glob|regexp|code)(?:\:(\w(\w|\:\:)*)?)?$]) { }
0 0 elsif ($$YAML::TagClass{$explicit} or $explicit =~ m[^perl/(\@|\$)?([a-zA-Z](\w|::)+)$]) { }
0 0 elsif (ref $node) { }
281 0 0 if ($type_class->can('yaml_load')) { }
293 0 0 if ($class->can('yaml_load')) { }
298 0 0 if (ref $node) { }
326 0 0 if ($$self{'content'} =~ s/^\?\s*//) { }
0 0 elsif ($$self{'content'} =~ s/^\=\s*//) { }
0 0 elsif ($$self{'content'} =~ s/^\=\s*//) { }
349 0 0 unless ($$self{'content'} =~ s/^:\s*//)
356 0 0 if (exists $$mapping{$key}) { }
373 3 0 if ($self->content =~ /^-(?: (.*))?$/) { }
374 3 0 defined $1 ? :
379 0 3 if ($self->preface =~ /^(\s*)(\w.*\:(?: |$).*)$/) { }
406 0 2 if ($anchor)
412 0 2 if ($alias) { }
0 2 elsif ($self->inline =~ /^\{/) { }
0 2 elsif ($self->inline =~ /^\[/) { }
0 2 elsif ($self->inline =~ /^"/) { }
0 2 elsif ($self->inline =~ /^'/) { }
413 0 0 unless defined $self->anchor2node->{$alias}
415 0 0 if (ref $self->anchor2node->{$alias} ne 'YAML-anchor2node') { }
432 0 0 if $implicit
436 0 0 if $implicit
439 2 0 if ($top) { }
446 2 0 unless $explicit
448 0 2 if ($explicit)
451 0 2 if ($anchor)
452 0 0 if (ref $self->anchor2node->{$anchor} eq 'YAML-anchor2node')
471 0 0 unless $$self{'inline'} =~ s/^\{\s*//
475 0 0 unless $$self{'inline'} =~ s/^\: \s*//
478 0 0 if (exists $$node{$key}) { }
484 0 0 if $self->inline =~ /^\s*\}/
485 0 0 unless $$self{'inline'} =~ s/^\,\s*//
498 0 0 unless $$self{'inline'} =~ s/^\[\s*//
503 0 0 if $self->inline =~ /^\s*\]/
504 0 0 unless $$self{'inline'} =~ s/^\,\s*//
514 0 0 if ($self->inline =~ /^"((?:\\"|[^"])*)"\s*(.*)$/) { }
530 0 0 if ($self->inline =~ /^'((?:''|[^'])*)'\s*(.*)$/) { }
545 0 0 if ($self->inline =~ /^(|[^!\@#%^&*].*?)(?=[\[\]\{\},]|, |: |- |:\s*$|$)/) { }
559 0 2 if $value eq ''
560 0 2 if $value =~ /^~$/
561 2 0 unless $value =~ /^[\@\`\^]/ or $value =~ /^[\-\?]\s/
579 0 0 unless $chomp eq '+'
580 0 0 unless $chomp
593 0 1 if '+' eq $chomp
595 0 1 if $chomp eq '-'
627 0 15 unless defined $offset
630 1 14 if $self->eos
634 1 13 if ($self->preface =~ qr/(?:^|\s)(?:$FOLD_CHAR|$LIT_CHAR_RX)(?:-|\+)?(\d*)\s*$/) { }
1 23 elsif ($type == 2 and $self->preface =~ /^(\s*(\!\S*|\&\S+))*\s*$/) { }
637 0 1 if length $1 and $1 == 0
640 0 1 if (length $1) { }
646 0 0 unless $self->lines->[0] =~ /^( *)/
647 0 0 unless length $1 <= $offset
652 0 1 if $self->eos
653 1 0 if ($self->lines->[0] =~ /^( *)\S/ and length $1 > $offset) { }
666 0 1 if ($self->eos) { }
671 0 1 unless $self->lines->[0] =~ /^( *)\S/
672 1 0 if (length $1 > $offset) { }
682 12 2 if ($type == 1) { }
695 0 14 if $self->eos
697 0 14 if ($self->lines->[0] =~ /^---(\s|$)/)
701 11 3 if ($type == 1 and $self->lines->[0] =~ /^ {$offset}(.*)$/) { }
0 3 elsif ($self->lines->[0] =~ /^\s*$/) { }
716 0 3 if $self->offset->[$level] != length $1
721 0 14 if $self->indent - $offset > 1
742 0 0 length $1 > 1 ? :