Branch Coverage

blib/lib/DMS/Emitter.pm
Criterion Covered Total %
branch 89 288 30.9


line true false branch
59 0 0 unless ($warned++)
69 0 0 unless ($warned++)
84 0 19 if (not $lite and _contains_unordered($doc->{'body'}))
88 0 19 if (not $lite and defined $doc->{'meta'} and _contains_unordered($doc->{'meta'}))
92 0 19 $lite ? :
103 19 0 unless ($self->{'lite'})
105 0 19 unless $doc->{'comments'}
110 10 11 if ($pos eq 'leading') { }
0 11 elsif ($pos eq 'inner') { }
10 1 elsif ($pos eq 'trailing') { }
120 0 19 unless $doc->{'original_forms'}
123 7 0 unless exists $self->{'forms_by_path'}{$pk}
139 30 316 ref $_ eq 'DMS::Index' ? :
156 19 0 unless ($self->{'lite'})
157 0 19 unless $doc->{'comments'}
159 0 21 if (defined $first and not ref $first and $first eq "__fm__")
165 3 16 if ($fm_present or $has_fm_comments)
168 3 0 if (defined $doc->{'meta'}) { }
178 19 0 if (_is_table($body)) { }
0 0 elsif (_is_list($body)) { }
185 0 0 if ($nc)
193 0 0 if ($nc)
203 0 83 unless defined $v
207 38 45 if (builtin::blessed($v))
215 0 56 unless defined $v
216 38 18 if builtin::blessed($v)
228 28 0 if ($tied and ref $tied eq "Tie::IxHash")
241 0 73 unless defined $v
242 38 35 if (builtin::blessed($v))
246 0 38 if ref $v eq "DMS::UnorderedTable"
251 25 10 if (ref $v eq "HASH")
253 0 45 if $k eq "\0_keys"
254 0 45 if _contains_unordered($v->{$k})
258 2 8 if (ref $v eq "ARRAY")
260 0 6 if _contains_unordered($item)
274 0 25 if ($self->{'lite'})
283 0 0 unless ($r)
284 0 0 $k =~ /\A[A-Za-z_][A-Za-z0-9_-]*\z/ ? :
286 0 0 if (not $v =~ /[\\"\x00-\x1F]/) { }
293 0 0 if ($r eq "DMS::Bool")
294 0 0 $k =~ /\A[A-Za-z_][A-Za-z0-9_-]*\z/ ? :
296 0 0 $$v ? :
300 0 0 if ($r eq "DMS::Integer")
301 0 0 $k =~ /\A[A-Za-z_][A-Za-z0-9_-]*\z/ ? :
312 0 0 if ($can_block) { }
314 0 0 if (_is_table($v)) { }
332 9 36 if ($nc)
346 5 40 if ($needs_block) { }
347 0 5 if ($has_inner)
354 3 2 if (_is_table($v)) { }
369 0 2 if ($self->{'lite'})
375 0 0 if (_is_table($v) and scalar _table_keys($v)) { }
0 0 elsif (_is_list($v) and scalar @$v) { }
394 0 6 if ($nc)
402 0 6 if (_is_table($v) and scalar _table_keys($v)) { }
0 6 elsif (_is_list($v) and scalar @$v) { }
403 0 0 if ($has_inner)
412 0 0 if ($has_inner)
433 38 8 if (builtin::blessed($v))
435 0 0 $v->value ? :
0 38 if ($cls eq 'DMS::Bool') { }
38 0 elsif ($cls eq 'DMS::Integer') { }
0 0 elsif ($cls eq 'DMS::Float') { }
0 0 elsif ($cls eq 'DMS::OffsetDateTime' or $cls eq 'DMS::LocalDateTime' or $cls eq 'DMS::LocalDate' or $cls eq 'DMS::LocalTime') { }
445 0 8 if (_is_list($v))
446 0 0 unless (@$v)
450 0 0 if $i > 0
451 0 0 $lite ? :
457 0 8 if (_is_table($v))
459 0 0 unless (@keys)
464 0 0 unless $first
468 0 0 $lite ? :
475 0 8 unless (defined $v)
481 0 38 if ($self->{'lite'})
488 5 0 if ($lit_ref and exists $lit_ref->{'integer_lit'})
498 0 0 if (isnan($f))
499 0 0 $f > 0 ? :
0 0 if (isinf($f))
503 0 0 if (0 + $s == $f)
507 0 0 unless ($s =~ /[.eE]/)
517 0 8 if ($self->{'lite'})
525 2 0 if ($lit_ref and exists $lit_ref->{'string_form'})
528 6 2 if (not $form or $form->{'kind'} eq "basic")
534 1 1 if ($form->{'kind'} eq "literal")
540 1 0 if ($form->{'kind'} eq "heredoc")
547 0 1 unless $form->{'modifiers'}
548 0 0 if ($m->{'name'} eq "_fold_paragraphs")
550 0 1 if ($has_fold)
564 0 1 $last_nl < 0 ? :
572 1 0 $flavor eq 'basic_triple' ? :
574 1 0 if defined $label
580 0 0 unless $m->{'args'}
581 0 0 unless $first
588 0 1 if (length $body == 0) { }
592 0 1 if (length $line == 0) { }
602 1 0 if (defined $label) { }
605 0 0 $flavor eq 'basic_triple' ? :
611 0 0 if (builtin::blessed($v))
613 0 0 $v->value ? :
0 0 if ($cls eq 'DMS::Bool') { }
0 0 elsif ($cls eq 'DMS::Integer') { }
0 0 elsif ($cls eq 'DMS::Float') { }
0 0 elsif ($cls eq 'DMS::OffsetDateTime' or $cls eq 'DMS::LocalDateTime' or $cls eq 'DMS::LocalDate' or $cls eq 'DMS::LocalTime') { }
623 0 0 if (_is_list($v))
624 0 0 if (_is_table($v))
635 9 0 if (index($text, "\n") == -1)
645 0 0 if ($i == 0) { }
658 0 46 if $self->{'lite'}
660 38 8 unless $nc and @{$nc->{'trailing'};}
663 8 0 $first ? :
671 0 46 if $self->{'lite'}
673 38 8 unless $nc
682 0 51 if $self->{'lite'}
689 0 27 if $self->{'lite'}
691 26 1 unless $nc
706 0 0 unless ($self->{'lite'})
707 0 0 unless $self->{'doc'}{'comments'}
708 0 0 if scalar @{$ac->{'path'};} <= scalar @$path
710 0 0 $pk_prefix eq '' ? :
711 0 0 if ($pk_prefix eq '') { }
0 0 elsif (substr($apk, 0, length $prefix) eq $prefix) { }
719 0 0 unless (ref $v or builtin::blessed($v))
722 0 0 if ($lit and exists $lit->{'string_form'} and $lit->{'string_form'}{'kind'} eq "heredoc")
727 0 0 if (builtin::blessed($v))
728 0 0 if (_is_list($v))
731 0 0 unless $self->_is_flow_safe($v->[$i], $sub)
735 0 0 if (_is_table($v))
738 0 0 unless $self->_is_flow_safe($v->{$k}, $sub)
749 6 0 unless $s =~ /[\\"\x00-\x1F]/
753 0 0 if ($ch eq '\\') { }
0 0 elsif ($ch eq '"') { }
0 0 elsif ($ch eq "\n") { }
0 0 elsif ($ch eq "\r") { }
0 0 elsif ($ch eq "\t") { }
0 0 elsif ($ch eq "\cH") { }
0 0 elsif ($ch eq "\f") { }
0 0 elsif ($code < 32) { }
768 0 0 if $c eq "_" or $c eq "-"
770 0 0 if ($o < 128)
785 45 0 if $k =~ /\A[A-Za-z_][A-Za-z0-9_-]*\z/
786 0 0 if (length $k > 0)
789 0 0 unless (_is_bare_key_char_emit($ch))
791 0 0 if $bare
794 0 0 if (index($k, "'") == -1 and index($k, "\n") == -1 and index($k, "\r") == -1)