Branch Coverage

inc/YAML/Loader.pm
Criterion Covered Total %
branch 70 238 29.4


line true false branch
36 0 2 if $self->stream =~ /$ESCAPE_CHAR/
38 0 2 if length $self->stream and not $$self{'stream'} =~ s/(.)\n\Z/$1/s
50 2 0 unless ($self->eos)
51 2 0 unless ($self->lines->[0] =~ /^---(\s|$)/)
65 2 0 if ($self->lines->[0] =~ /^---\s*(.*)$/) { }
71 0 0 if (defined $directives{$key})
84 2 0 unless ($self->done)
87 0 2 if ($self->done)
96 0 2 if $self->major_version ne '1'
98 0 2 if $self->minor_version ne '0'
100 0 2 unless $directives{'TAB'} =~ /^(NONE|\d+)(:HARD)?$/
105 0 2 wantarray ? :
119 0 482 if ($anchor)
125 0 300 if ($preface =~ s/^($FOLD_CHAR|$LIT_CHAR_RX)(-|\+)?\d*\s*//) { }
127 0 0 if defined $2
130 0 300 if $indicator
135 0 482 if ($alias) { }
300 182 elsif (length $self->inline) { }
0 182 elsif ($indicator eq $LIT_CHAR) { }
0 182 elsif ($indicator eq $FOLD_CHAR) { }
136 0 0 unless defined $self->anchor2node->{$alias}
138 0 0 if (ref $self->anchor2node->{$alias} ne 'YAML-anchor2node') { }
148 0 300 if (length $self->inline)
155 0 0 if $implicit
161 0 0 if $implicit
167 182 0 if ($self->indent == $self->offset->[$self->level]) { }
168 2 180 if ($self->content =~ /^-( |$)/) { }
180 0 elsif ($self->content =~ /(^\?|\:( |$))/) { }
0 0 elsif ($preface =~ /^\s*$/) { }
188 0 482 if ($explicit)
189 0 0 if ($class) { }
190 0 0 unless (ref $node)
201 0 482 if ($anchor)
202 0 0 if (ref $self->anchor2node->{$anchor} eq 'YAML-anchor2node')
223 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*//) { }
224 0 0 if $explicit
228 0 0 if $implicit
233 0 0 unless $token =~ /^[a-zA-Z0-9]+$/
235 0 0 if $anchor
236 0 0 if $alias
241 0 0 unless $token =~ /^[a-zA-Z0-9]+$/
243 0 0 if $alias
244 0 0 if $anchor
256 0 0 if ($explicit =~ m[^\!?perl/(hash|array|ref|scalar)(?:\:(\w(\w|\:\:)*)?)?$])
261 0 0 if ($type eq 'ref')
262 0 0 unless exists $$node{"\aYAML\aVALUE\a"} and scalar keys %$node == 1
269 0 0 if ($type eq 'scalar' and length $class and not ref $node)
274 0 0 if (length $class)
280 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) { }
284 0 0 if ($type_class->can('yaml_load')) { }
296 0 0 if ($class->can('yaml_load')) { }
301 0 0 if (ref $node) { }
329 0 420 if ($$self{'content'} =~ s/^\?\s*//) { }
0 420 elsif ($$self{'content'} =~ s/^\=\s*//) { }
0 420 elsif ($$self{'content'} =~ s/^\=\s*//) { }
352 0 420 unless ($$self{'content'} =~ s/^:\s*//)
359 0 420 if (exists $$mapping{$key}) { }
376 60 0 if ($self->content =~ /^-(?: (.*))?$/) { }
377 0 60 defined $1 ? :
382 0 60 if ($self->preface =~ /^(\s*)(\w.*\:(?: |$).*)$/) { }
409 0 1330 if ($anchor)
415 0 1330 if ($alias) { }
0 1330 elsif ($self->inline =~ /^\{/) { }
60 1270 elsif ($self->inline =~ /^\[/) { }
0 1270 elsif ($self->inline =~ /^"/) { }
0 1270 elsif ($self->inline =~ /^'/) { }
416 0 0 unless defined $self->anchor2node->{$alias}
418 0 0 if (ref $self->anchor2node->{$alias} ne 'YAML-anchor2node') { }
435 0 0 if $implicit
439 0 0 if $implicit
442 240 1030 if ($top) { }
449 1270 0 unless $explicit
451 0 1330 if ($explicit)
454 0 1330 if ($anchor)
455 0 0 if (ref $self->anchor2node->{$anchor} eq 'YAML-anchor2node')
474 0 0 unless $$self{'inline'} =~ s/^\{\s*//
478 0 0 unless $$self{'inline'} =~ s/^\: \s*//
481 0 0 if (exists $$node{$key}) { }
487 0 0 if $self->inline =~ /^\s*\}/
488 0 0 unless $$self{'inline'} =~ s/^\,\s*//
501 0 60 unless $$self{'inline'} =~ s/^\[\s*//
506 60 550 if $self->inline =~ /^\s*\]/
507 0 550 unless $$self{'inline'} =~ s/^\,\s*//
517 0 0 if ($self->inline =~ /^"((?:\\"|[^"])*)"\s*(.*)$/) { }
533 0 0 if ($self->inline =~ /^'((?:''|[^'])*)'\s*(.*)$/) { }
548 1030 0 if ($self->inline =~ /^(|[^!\@#%^&*].*?)(?=[\[\]\{\},]|, |: |- |:\s*$|$)/) { }
562 0 1270 if $value eq ''
563 0 1270 if $value =~ /^~$/
564 1270 0 unless $value =~ /^[\@\`\^]/ or $value =~ /^[\-\?]\s/
582 0 0 unless $chomp eq '+'
583 0 0 unless $chomp
596 0 0 if '+' eq $chomp
598 0 0 if $chomp eq '-'
630 0 482 unless defined $offset
633 2 480 if $self->eos
637 0 480 if ($self->preface =~ qr/(?:^|\s)(?:$FOLD_CHAR|$LIT_CHAR_RX)(?:-|\+)?(\d*)\s*$/) { }
182 298 elsif ($type == 2 and $self->preface =~ /^(\s*(\!\S*|\&\S+))*\s*$/) { }
640 0 0 if length $1 and $1 == 0
643 0 0 if (length $1) { }
649 0 0 unless $self->lines->[0] =~ /^( *)/
650 0 0 unless length $1 <= $offset
655 0 0 if $self->eos
656 0 0 if ($self->lines->[0] =~ /^( *)\S/ and length $1 > $offset) { }
669 0 182 if ($self->eos) { }
674 0 182 unless $self->lines->[0] =~ /^( *)\S/
675 182 0 if (length $1 > $offset) { }
685 0 480 if ($type == 1) { }
698 0 480 if $self->eos
700 0 480 if ($self->lines->[0] =~ /^---(\s|$)/)
704 0 480 if ($type == 1 and $self->lines->[0] =~ /^ {$offset}(.*)$/) { }
0 480 elsif ($self->lines->[0] =~ /^\s*$/) { }
719 0 480 if $self->offset->[$level] != length $1
724 0 480 if $self->indent - $offset > 1
750 0 0 length $1 > 1 ? :