Condition Coverage

lib/XML/Compile/Translate/Reader.pm
Criterion Covered Total %
condition 119 197 60.4


and 2 conditions

line l !l condition
1023 1 0 $no{$ns} and last

and 3 conditions

line !l l&&!r l&&r condition
86 401 0 0 builtin::blessed($_[0]) and $_[0]->isa("XML::LibXML::Iterator")
112 0 0 4 ref $attr and $attr->isa("XML::LibXML::Attr")
139 0 7 64 $_[0] && $_[0]->currentType eq $take
168 31 5 4 keys %do == 1 and not @specials
220 0 0 6 not $@ and @d
251 3 22 5 not %specials and keys %pairs == 1
255 0 1 3 $tree && $tree->currentType eq $take
264 0 21 46 $tree && $tree->currentType
321 20 11 276 $max ne "unbounded" and $max == 1
340 20 11 0 $max ne "unbounded" and $min >= $max
414 13 14 504 $max ne "unbounded" and $max == 1
430 13 12 2 $max ne "unbounded" and $min >= $max
465 0 3 2 defined $tree and $max eq 'unbounded' || @res < $max
495 0 0 0 defined $tree and $tree->nodeType eq $childname
0 0 0 defined $tree and $tree->nodeType eq $childname and $tree->node->hasAttribute("href")
507 32 7 835 defined $tree && $tree->nodeType eq $childname
544 0 2 1 defined $v and $v eq $def
556 1 0 2 $tree && $tree->nodeType eq $childname
659 10 0 1 $is_nillable && ref $tree && $tree->nodeNil
726 0 5 9 ref $tree && $tree->nodeNil
749 0 0 1 ref $_[0] && UNIVERSAL::isa($_[0], 'XML::Compile::Iterator')
933 0 1 3 defined $value and $value eq $def
977 6 1 1 keys %yes and not $yes{$ns}
978 5 1 1 keys %no and $no{$ns}
1019 5 2 0 my $child = $tree->currentChild and $max eq 'unbounded' || $count < $max
1042 0 0 0 keys %no && $no{$ns}
0 0 0 !keys(%yes) || $yes{$ns} and not keys %no && $no{$ns}
1111 10 0 1 $replace and grep(($_ eq "SKIP"), @$replace)

or 2 conditions

line l !l condition
658 11 0 shift() // (return ())
725 14 1 shift() // (return &$st(undef))
797 27 0 shift() // (return undef)
813 7 0 &$st(@_) // (return)
821 3 0 &$st($_[0]) // (return)
846 9 0 &$st($v) // (return undef)
854 26 0 shift() // (return undef)
976 8 0 $attr->namespaceURI || $_[0]->namespaceURI || ''
1008 4 1 $handler ||= "SKIP_ALL"
1021 2 0 $child->namespaceURI || ''
1022 1 0 $yes{$ns} or last
1040 0 0 $child->namespaceURI || ''

or 3 conditions

line l !l&&r !l&&!r condition
112 0 0 0 ref $attr || $attr
139 6 0 83 ref $action eq 'BLOCK' || ref $action eq 'ANY'
150 34 262 46 ref $do eq 'BLOCK' || ref $do eq 'ANY' || defined $tree && $tree->currentType eq $take
165 12 0 79 ref $do{$el} eq "BLOCK" or ref $do{$el} eq "ANY"
248 3 0 77 ref $pairs{$el} eq "BLOCK" or ref $pairs{$el} eq "ANY"
331 1 0 1 not $ending or $ending != $starter
357 37 9 1 $max eq "unbounded" or @res < $max
364 0 0 3 not $ending or $ending != $starter
389 15 5 2 $max eq "unbounded" or @res < $max
396 0 0 0 not $ending or $ending != $starter
447 24 26 0 $max eq "unbounded" or @res < $max
465 2 2 1 $max eq 'unbounded' || @res < $max
520 0 0 2 $tree->nodeType ne $childname or $tree->node->textContent eq ""
530 7 0 8 not defined $tree or $tree->nodeType ne $childname
7 1 7 not defined $tree or $tree->nodeType ne $childname or $tree->node->textContent eq ""
541 0 0 3 $tree->nodeType ne $childname or $tree->node->textContent eq ""
629 6 52 205 @elems > 1 or @attrs
663 10 0 0 defined $simple || @pairs
775 38 587 3 $_[1] || $_[0]
789 2 11 0 $_[1] || $_[0]
829 14 79 1 @$early or @$late
919 0 2 1 !defined($v) || $v eq $def
1019 2 0 0 $max eq 'unbounded' || $count < $max
1042 0 0 0 !keys(%yes) || $yes{$ns}
1047 5 0 0 $max eq 'unbounded' || $max > 1
1099 0 6 0 $d->{'XSI_TYPE'} ||= $alt
1108 3 1 7 $before or $replace
4 7 0 $before or $replace or $after
1205 19 0 0 $self->prefixed($type) || $type