Condition Coverage

blib/lib/XML/TreePP/Editor.pm
Criterion Covered Total %
condition 62 240 25.8


and 3 conditions

line !l l&&!r l&&r condition
146 0 0 0 @_ >= 1 and ref $_[0] eq 'XML::TreePP'
148 0 0 0 defined $$self{'tppx'} and ref $$self{'tppx'} eq 'XML::TreePP::XMLPath'
204 10 0 0 @_ >= 1 and ref $_[0] eq 'XML::TreePP::XMLPath'
209 10 0 0 defined $$self{'tpp'} and ref $$self{'tpp'} eq 'XML::TreePP'
458 0 10 0 defined $self and defined $self->get('tpp')
509 0 0 0 not ref $value and defined $value
0 0 0 not ref $value and defined $value and defined $stringname
521 0 0 0 defined $childpos and $childpos >= 1
0 0 0 defined $childpos and $childpos >= 1 and $childpos <= @{$$parentnode{$childname};}
522 0 0 0 defined $stringname and &$isnodetype($stringname, 'text')
564 0 0 0 defined $stringname and &$isnodetype($stringname, 'text')
587 0 0 0 defined $stringname and &$isnodetype($stringname, 'text')
620 0 0 5 ref $targetnode eq 'HASH' and ref $mergenode eq 'HASH'
0 0 5 ref $targetnode eq 'HASH' and ref $mergenode eq 'HASH' and defined $action
625 1 1 0 exists $$targetnode{$vk} and ref $$targetnode{$vk}
1 0 1 exists $$targetnode{$vk} and not ref $$targetnode{$vk}
1 0 1 exists $$targetnode{$vk} and not ref $$targetnode{$vk} and defined $$targetnode{$vk}
0 0 1 exists $$targetnode{$vk} and not ref $$targetnode{$vk} and defined $$targetnode{$vk} and $$targetnode{$vk} ne ''
639 1 0 1 not ref $$targetnode{$vk} and $$mergenode{$vk} =~ /\w+/
682 5 0 0 not ref $value and defined $value
5 0 0 not ref $value and defined $value and defined $stringname
695 0 0 5 defined $childpos and $childpos >= 1
0 0 5 defined $childpos and $childpos >= 1 and $childpos <= @{$$parentnode{$childname};}
714 0 0 0 defined $stringname and &$isnodetype($stringname, 'text')
732 0 0 0 defined $$parentnode{$childname}[$tchildpos - 1] and $$parentnode{$childname}[$tchildpos - 1] =~ /\w+/
746 0 0 0 defined $childpos and $childpos == 1
758 0 0 0 defined $childpos and $childpos == 1
759 0 0 0 defined $stringname and &$isnodetype($stringname, 'text')
777 0 0 0 defined $$parentnode{$childname} and $$parentnode{$childname} =~ /\w+/
821 1 0 0 not ref $value and defined $value
1 0 0 not ref $value and defined $value and defined $stringname
857 0 0 1 $childpos >= 1 and $childpos <= $size
893 4 0 0 not ref $value and defined $value
4 0 0 not ref $value and defined $value and defined $stringname
903 0 0 4 defined $childpos and $childpos >= 1
0 0 4 defined $childpos and $childpos >= 1 and $childpos <= @{$$parentnode{$childname};}
906 0 0 0 $$parentnode{$childname}[$childpos - 1] =~ /\w+/ and &$isnodetype($stringname, 'text')
924 0 0 0 $$parentnode{$childname}[$i] =~ /\w+/ and &$isnodetype($stringname, 'text')
947 0 0 0 $$parentnode{$childname} =~ /\w+/ and &$isnodetype($stringname, 'text')
989 0 0 4 defined $childpos and $childpos >= 1
0 0 4 defined $childpos and $childpos >= 1 and $childpos - 1 <= @{$$parentnode{$childname};}
991 0 0 0 $$parentnode{$childname}[$childpos - 1] =~ /\w+/ and &$isnodetype($stringname, 'text')
1007 0 0 0 $$parentnode{$childname}[$i] =~ /\w+/ and &$isnodetype($stringname, 'text')
1052 1 4 9 $action ne 'insert' and $action ne 'replace'
5 4 5 $action ne 'insert' and $action ne 'replace' and $action ne 'delete'
8 1 4 $action ne 'insert' and $action ne 'replace' and $action ne 'delete' and $action ne 'mergeadd'
5 2 2 $action ne 'insert' and $action ne 'replace' and $action ne 'delete' and $action ne 'mergeadd' and $action ne 'mergeappend'
3 1 1 $action ne 'insert' and $action ne 'replace' and $action ne 'delete' and $action ne 'mergeadd' and $action ne 'mergeappend' and $action ne 'mergereplace'
3 1 0 $action ne 'insert' and $action ne 'replace' and $action ne 'delete' and $action ne 'mergeadd' and $action ne 'mergeappend' and $action ne 'mergereplace' and $action ne 'mergedelete'
1069 14 0 0 not defined $position and ref $$xref{$$child_path[0]} eq 'ARRAY'
14 0 0 not defined $position and ref $$xref{$$child_path[0]} eq 'ARRAY' and defined $$child_path[1]
0 0 0 not defined $position and ref $$xref{$$child_path[0]} eq 'ARRAY' and defined $$child_path[1] and @{$$child_path[1];} > 0
1095 0 0 0 not defined $position and ref $$e{$$child_path[0]} eq 'ARRAY'
0 0 0 not defined $position and ref $$e{$$child_path[0]} eq 'ARRAY' and defined $$child_path[1]
0 0 0 not defined $position and ref $$e{$$child_path[0]} eq 'ARRAY' and defined $$child_path[1] and @{$$child_path[1];} > 0

or 2 conditions

line l !l condition
141 0 0 ref $_[0] eq $XML::TreePP::Editor::REF_NAME or undef
199 10 0 ref $_[0] eq $XML::TreePP::Editor::REF_NAME or undef
249 0 0 ref $_[0] eq $XML::TreePP::Editor::REF_NAME or return undef
286 10 0 ref $_[0] eq $XML::TreePP::Editor::REF_NAME or return undef
445 10 0 ref $_[0] eq $XML::TreePP::Editor::REF_NAME or undef
461 0 0 $tpp->get('text_node_key') || '#text'
462 0 0 $tpp->get('attr_prefix') || '-'
492 0 0 $options{'mergetype'} || 'add'
665 5 0 $options{'mergetype'} || 'add'
1062 14 0 $$positionFilter[0] || undef
1128 8 2 $options{$action} || undef
1179 0 0 ref $_[0] eq $XML::TreePP::Editor::REF_NAME or undef
1197 0 0 ref $_[0] eq $XML::TreePP::Editor::REF_NAME or undef
1215 0 0 ref $_[0] eq $XML::TreePP::Editor::REF_NAME or undef
1233 0 0 ref $_[0] eq $XML::TreePP::Editor::REF_NAME or undef
1251 0 0 ref $_[0] eq $XML::TreePP::Editor::REF_NAME or undef
1269 0 0 ref $_[0] eq $XML::TreePP::Editor::REF_NAME or undef
1287 0 0 ref $_[0] eq $XML::TreePP::Editor::REF_NAME or undef

or 3 conditions

line l !l&&r !l&&!r condition
327 0 1 0 ref $pkg || $pkg
333 0 0 1 $args{'debug'} ||= $XML::TreePP::Editor::DEBUG
509 0 0 0 ref $value || defined $stringname
586 0 0 0 not defined $childpos or $childpos == 1
639 0 1 2 &$isnodetype($vk, 'text') or &$isnodetype($vk, 'attribute')
1 0 2 &$isnodetype($vk, 'text') or &$isnodetype($vk, 'attribute') or not ref $$targetnode{$vk} and $$mergenode{$vk} =~ /\w+/
682 5 0 0 ref $value || defined $stringname
746 0 0 0 defined $childpos and $childpos == 1 or not defined $childpos
758 0 0 0 defined $childpos and $childpos == 1 or not defined $childpos
821 1 0 0 ref $value || defined $stringname
893 4 0 0 ref $value || defined $stringname
944 0 0 0 not defined $childpos or $childpos == 1
1027 0 0 0 not defined $childpos or $childpos == 1