Condition Coverage

blib/lib/YAML/Perl/Emitter.pm
Criterion Covered Total %
condition 159 372 42.7


and 3 conditions

line !l l&&!r l&&r condition
77 30 0 0 $p{'indent'} and $p{'indent'} > 1
30 0 0 $p{'indent'} and $p{'indent'} > 1 and $p{'indent'} < 10
80 30 0 0 $p{'width'} and $p{'width'} > ($p{'best_indent'} || 2) * 2
83 30 0 0 $p{'line_break'} and $p{'line_break'} =~ /^(\r|\n|\r\n)$/
213 0 0 1 $first && !$self->event->explicit && !$self->canonical && !$self->event->version && !$self->event->tags && !$self->check_empty_document
402 0 0 0 not $self->canonical and $self->check_simple_key
431 0 0 0 not $self->canonical and $self->check_simple_key
462 14 0 0 $self->mapping_context && !$self->indention
475 0 36 14 not $first and $self->event->isa('YAML::Perl::Event::SequenceEnd')
501 14 8 14 not $first and $self->event->isa('YAML::Perl::Event::MappingEnd')
534 0 14 3 $self->event->isa('YAML::Perl::Event::SequenceStart') && @{$self->events;} && $self->events->[0]->isa('YAML::Perl::Event::SequenceEnd')
543 0 14 6 $self->event->isa('YAML::Perl::Event::MappingStart') && @{$self->events;} && $self->events->[0]->isa('YAML::Perl::Event::MappingEnd')
550 0 1 0 $self->event->isa('YAML::Perl::Event::DocumentStart') and $self->events
557 0 1 0 $event->isa('YAML::Perl::Event::Scalar') && !defined($event->anchor) && !defined($event->tag) && $event->implicit && $event->value eq ''
568 0 22 0 $self->event->isa('YAML::Perl::Event::Node') and defined $self->event->anchor
576 0 22 0 $self->event->isa('YAML::Perl::Event::Scalar') || $self->event->isa('YAML::Perl::Event::CollectionStart') and $self->event->tag
593 0 22 0 $length < 128 && ($self->event->isa('YAML::Perl::Event::Alias') || $self->event->isa('YAML::Perl::Event::Scalar') && !$self->analysis->empty && !$self->analysis->multiline || $self->check_empty_sequence || $self->check_empty_mapping)
629 68 0 0 $self->canonical && $tag
0 68 0 not $self->canonical && $tag and $self->style eq '' && $self->event->implicit->[0] || $self->style ne '' && $self->event->implicit->[1]
638 3 0 0 $self->event->implicit->[0] and not $tag
644 37 0 0 $self->canonical && $tag
0 6 31 not $self->canonical && $tag and $self->event->implicit
666 124 3 1 $self->event->style and $self->event->style eq '"'
671 123 3 1 $self->event->value =~ /\n/ and length $self->event->value >= 16
676 3 3 120 not $self->event->style and $self->event->implicit->[0]
677 120 0 0 $self->simple_key_context && ($self->analysis->empty || $self->analysis->multiline)
0 120 0 not $self->simple_key_context && ($self->analysis->empty || $self->analysis->multiline) and $self->flow_level && $self->analysis->allow_flow_plain || !$self->flow_level && $self->analysis->allow_block_plain
690 3 0 3 $self->event->style and $self->event->style =~ /^[\|\>]$/
691 0 0 3 not $self->flow_level || $self->simple_key_context and $self->analysis->allow_block
700 3 0 0 $self->simple_key_context && $self->analysis->multiline
0 0 3 $self->analysis->allow_single_quoted and not $self->simple_key_context && $self->analysis->multiline
764 0 0 0 $ch ge '0' and $ch le '9'
0 0 0 $ch ge 'A' and $ch le 'Z'
0 0 0 $ch ge 'a' and $ch le 'z'
793 0 0 0 $ch ge '0' and $ch le '9'
0 0 0 $ch ge 'A' and $ch le 'Z'
0 0 0 $ch ge 'a' and $ch le 'z'
830 9 9 0 $tag =~ /^\Q$prefix\E/ and $prefix eq '!' || length $prefix < length $tag
843 9 117 0 $ch ge '0' and $ch le '9'
18 99 9 $ch ge 'A' and $ch le 'Z'
18 0 99 $ch ge 'a' and $ch le 'z'
0 0 0 $ch eq '!' and $handle ne '!'
968 68 0 0 $ch eq '-' and $followed_by_space
984 161 0 0 $ch eq '#' and $preceeded_by_space
995 0 0 218 $ch ge ' ' and $ch le '~'
996 0 0 0 $ch eq "\205" || $ch ge "\240" && $ch le "\x{d7ff}" || $ch ge '' && $ch le '�' and $ch ne ''
1017 24 0 0 $spaces and $breaks
1047 0 0 0 $spaces and $breaks
1058 6 13 0 $spaces and $breaks
1075 205 19 5 $spaces || $breaks and $index == length($scalar) - 1
1076 5 0 0 $spaces and $breaks
1171 29 0 0 $self->encoding and $self->encoding =~ /^utf-16/
1197 56 41 36 $self->indention && $indention
1208 9 32 0 $self->column == $indent and not $self->whitespace
1273 0 3 0 $start + 1 == $end and $self->column > $self->best_width
3 0 0 $start + 1 == $end and $self->column > $self->best_width and $split
3 0 0 $start + 1 == $end and $self->column > $self->best_width and $split and $start != 0
0 0 0 $start + 1 == $end and $self->column > $self->best_width and $split and $start != 0 and $end != length $text
1293 0 0 0 defined $ch and $ch =~ /^[\n\x85\x{2028}\x{2029}]$/
1325 3 36 0 $ch and $ch eq q[']
1416 1 2 6 $end > 0 and $end < length($text) - 1
3 6 0 $end > 0 and $end < length($text) - 1 and $ch eq ' ' || $start >= $end
4 2 0 $end > 0 and $end < length($text) - 1 and $ch eq ' ' || $start >= $end and $self->column + ($end - $start) > $self->best_width
6 0 0 $end > 0 and $end < length($text) - 1 and $ch eq ' ' || $start >= $end and $self->column + ($end - $start) > $self->best_width and $split
1483 4 9 0 defined $ch and $ch =~ /^[\n\x85\x{2028}\x{2029}]$/
1545 0 0 0 $start + 1 == $end and $self->column > $self->best_width
0 0 0 $start + 1 == $end and $self->column > $self->best_width and $split

or 2 conditions

line l !l condition
80 0 0 $p{'best_indent'} || 2
1207 17 107 $self->indent || 0
1521 60 0 shift() || 1

or 3 conditions

line l !l&&r !l&&!r condition
128 0 44 144 $event->isa('YAML::Perl::Event::DocumentStart') or $event->isa('YAML::Perl::Event::CollectionStart')
6 31 107 $event->isa('YAML::Perl::Event::DocumentEnd') or $event->isa('YAML::Perl::Event::CollectionEnd')
272 68 37 0 $self->event->isa('YAML::Perl::Event::Scalar') or $self->event->isa('YAML::Perl::Event::CollectionStart')
284 0 0 17 $self->flow_level or $self->canonical
0 0 17 $self->flow_level or $self->canonical or $self->event->flow_style
0 3 14 $self->flow_level or $self->canonical or $self->event->flow_style or $self->check_empty_sequence
296 0 0 20 $self->flow_level or $self->canonical
0 0 20 $self->flow_level or $self->canonical or $self->event->flow_style
0 6 14 $self->flow_level or $self->canonical or $self->event->flow_style or $self->check_empty_mapping
351 0 0 0 $self->canonical or $self->column > $self->best_width
374 0 0 0 $self->canonical or $self->column > $self->best_width
399 0 0 0 $self->canonical or $self->column > $self->best_width
428 0 0 0 $self->canonical or $self->column > $self->best_width
452 0 0 0 $self->canonical or $self->column > $self->best_width
576 22 0 0 $self->event->isa('YAML::Perl::Event::Scalar') || $self->event->isa('YAML::Perl::Event::CollectionStart')
629 60 0 8 $self->style eq '' && $self->event->implicit->[0] || $self->style ne '' && $self->event->implicit->[1]
666 1 0 127 $self->event->style and $self->event->style eq '"' or $self->canonical
677 0 0 120 $self->flow_level && $self->analysis->allow_flow_plain || !$self->flow_level && $self->analysis->allow_block_plain
691 0 0 3 $self->flow_level || $self->simple_key_context
699 3 0 0 not $self->event->style or $self->event->style eq q[']
757 0 0 0 substr($handle, 0, 1) ne '!' or substr($handle, -1, 1) ne '!'
764 0 0 0 $ch ge '0' and $ch le '9' or $ch ge 'A' and $ch le 'Z'
0 0 0 $ch ge '0' and $ch le '9' or $ch ge 'A' and $ch le 'Z' or $ch ge 'a' and $ch le 'z'
0 0 0 $ch ge '0' and $ch le '9' or $ch ge 'A' and $ch le 'Z' or $ch ge 'a' and $ch le 'z' or $ch =~ /^[\-\_]$/
793 0 0 0 $ch ge '0' and $ch le '9' or $ch ge 'A' and $ch le 'Z'
0 0 0 $ch ge '0' and $ch le '9' or $ch ge 'A' and $ch le 'Z' or $ch ge 'a' and $ch le 'z'
0 0 0 $ch ge '0' and $ch le '9' or $ch ge 'A' and $ch le 'Z' or $ch ge 'a' and $ch le 'z' or $ch =~ m<^[\-\;/\?\!\:\@\&\=\+\$\,\_\.\~\*\\\'\(\)\[\]]$>
830 0 9 0 $prefix eq '!' || length $prefix < length $tag
843 0 0 126 $ch ge '0' and $ch le '9' or $ch ge 'A' and $ch le 'Z'
9 0 117 $ch ge '0' and $ch le '9' or $ch ge 'A' and $ch le 'Z' or $ch ge 'a' and $ch le 'z'
99 18 0 $ch ge '0' and $ch le '9' or $ch ge 'A' and $ch le 'Z' or $ch ge 'a' and $ch le 'z' or $ch =~ m<^[\-\;/\?\:\@\&\=\+\$\,\_\.\~\*\\\'\(\)\[\]]$>
117 0 0 $ch ge '0' and $ch le '9' or $ch ge 'A' and $ch le 'Z' or $ch ge 'a' and $ch le 'z' or $ch =~ m<^[\-\;/\?\:\@\&\=\+\$\,\_\.\~\*\\\'\(\)\[\]]$> or $ch eq '!' and $handle ne '!'
924 0 8 60 $scalar =~ /^---/ or $scalar =~ /^.../
933 34 0 34 length $scalar == 1 || $scalar =~ /^.[\0 \t\r\n\x85\x{2028}\x{2029}]/s
995 11 0 218 $ch eq "\n" or $ch ge ' ' and $ch le '~'
996 0 0 0 $ch eq "\205" || $ch ge "\240" && $ch le "\x{d7ff}" || $ch ge '' && $ch le '�'
1016 13 6 186 $spaces or $breaks
1075 13 11 205 $spaces || $breaks
1097 102 0 127 $index + 1 >= length $scalar || substr($scalar, index(1, '1')) =~ /^[\0\ \t\r\n\x85\x{2028}\x{2029}]$/
1112 0 0 68 $leading_spaces or $leading_breaks
0 0 68 $leading_spaces or $leading_breaks or $trailing_spaces
1130 0 0 68 $mixed_breaks_spaces or $special_characters
1190 74 26 33 $self->whitespace or not $need_whitespace
1208 83 0 41 not $self->indention or $self->column > $indent
83 0 41 not $self->indention or $self->column > $indent or $self->column == $indent and not $self->whitespace
1272 0 3 0 not defined $ch or $ch ne ' '
1310 3 3 30 not defined $ch or $ch =~ /^[\ \n\x85\x{2028}\x{2029}]$/
6 0 30 not defined $ch or $ch =~ /^[\ \n\x85\x{2028}\x{2029}]$/ or $ch eq q[']
1374 1 0 8 not defined $ch or $ch =~ /^[\"\\\x85\x{2028}\x{2029}\x{FEFF}]$/
6 0 2 $ch ge ' ' && $ch le '~' || $self->allow_unicode && ($ch ge "\240" && $ch le "\x{d7ff}" || $ch ge '' && $ch le '�')
1 2 6 not defined $ch or $ch =~ /^[\"\\\x85\x{2028}\x{2029}\x{FEFF}]$/ or not $ch ge ' ' && $ch le '~' || $self->allow_unicode && ($ch ge "\240" && $ch le "\x{d7ff}" || $ch ge '' && $ch le '�')
1416 0 2 4 $ch eq ' ' || $start >= $end
1455 0 0 4 length $text == 1 or $text =~ /[\n\x85\x{2028}\x{2029}].\z/s
1499 0 9 81 not defined $ch or $ch =~ /^[\n\x85\x{2028}\x{2029}]$/
1584 60 0 86 not defined $ch or $ch =~ /^[\ \n\x85\x{2028}\x{2029}]$/