Condition Coverage

lib/XML/DOM/Lite/XPath.pm
Criterion Covered Total %
condition 32 102 31.3


and 3 conditions

line !l l&&!r l&&r condition
391 0 0 0 $ctx->{'node'}{'nodeType'} == 7 && (!$self->{'target'} || $ctx->{'node'}{'nodeName'} eq $self->{'target'})
698 0 0 0 $n and $n != $n->parentNode
892 0 0 0 $self->{'expr1'}->evaluate($ctx)->booleanValue && $self->{'expr2'}->evaluate($ctx)->booleanValue
932 0 2 0 $v1->{'type'} eq 'node-set' and $v2->{'type'} eq 'node-set'
1436 421 0 18 @result and length $result[0] > length $match
1443 4 18 0 $rule and $rule == $TOK_DIV || $rule == $TOK_MOD || $rule == $TOK_AND || $rule == $TOK_OR
18 0 0 $rule and $rule == $TOK_DIV || $rule == $TOK_MOD || $rule == $TOK_AND || $rule == $TOK_OR and !$previous || $previous->{'tag'} == $TOK_AT || $previous->{'tag'} == $TOK_DSLASH || $previous->{'tag'} == $TOK_SLASH || $previous->{'tag'} == $TOK_AXIS || $previous->{'tag'} == $TOK_DOLLAR
1521 18 63 0 $cand and !$ahead || $cand->{'prec'} > $ahead->{'prec'} || $ahead->{'tag'}{'left'} && $cand->{'prec'} >= $ahead->{'prec'}
1562 63 76 359 $p >= 0 and $s >= 0
1568 0 4 2 $s - $ds >= 0 and $$stack[$s - $ds]{'tag'} == $pattern->[$p]
1577 0 0 0 $s - $ds >= 0 and $ds < 2
0 0 0 $s - $ds >= 0 and $ds < 2 and $$stack[$s - $ds]{'tag'} == $pattern->[$p]
1587 0 0 0 $s - $ds >= 0 and $$stack[$s - $ds]{'tag'} == $pattern->[$p]
1628 0 0 0 ref $frame eq 'ARRAY' and @$frame
1629 0 4 59 @{$frame->{'rule'};} >= 3 and $frame->{'rule'}[2] >= 0

or 2 conditions

line l !l condition
222 0 9 $predicate || []
1056 597 0 shift() || []
1621 4 4 $tag->{'prec'} || 2

or 3 conditions

line l !l&&r !l&&!r condition
527 0 0 0 @{$self->{'args'};} == 1 || @{$self->{'args'};} == 0
544 0 0 0 @{$self->{'args'};} == 1 || @{$self->{'args'};} == 0
609 0 0 0 @{$self->{'args'};} == 2 || @{$self->{'args'};} == 3
709 0 0 0 $xmllang =~ /$re/ || ($xmllang =~ s/_.*$//) =~ /$re/
715 0 0 0 @{$self->{'args'};} == 1 || @{$self->{'args'};} == 0
889 0 0 0 $self->{'expr1'}->evaluate($ctx)->booleanValue || $self->{'expr2'}->evaluate($ctx)->booleanValue
932 2 0 0 $v1->{'type'} eq 'node-set' or $v2->{'type'} eq 'node-set'
0 0 0 $v1->{'type'} eq 'boolean' or $v2->{'type'} eq 'boolean'
0 0 0 $v1->{'type'} eq 'number' or $v2->{'type'} eq 'number'
1443 0 0 18 $rule == $TOK_DIV || $rule == $TOK_MOD || $rule == $TOK_AND || $rule == $TOK_OR
0 0 0 !$previous || $previous->{'tag'} == $TOK_AT || $previous->{'tag'} == $TOK_DSLASH || $previous->{'tag'} == $TOK_SLASH || $previous->{'tag'} == $TOK_AXIS || $previous->{'tag'} == $TOK_DOLLAR
1521 59 0 4 !$ahead || $cand->{'prec'} > $ahead->{'prec'} || $ahead->{'tag'}{'left'} && $cand->{'prec'} >= $ahead->{'prec'}
1946 3 0 168 $pattern->[$j] == $Q_MM or $pattern->[$j] == $Q_01
2051 1 0 3 $node->{'nodeType'} == 3 or $node->{'nodeType'} == 4
1 2 1 $node->{'nodeType'} == 3 or $node->{'nodeType'} == 4 or $node->{'nodeType'} == 2
1 0 0 $node->{'nodeType'} == 1 or $node->{'nodeType'} == 9
1 0 0 $node->{'nodeType'} == 1 or $node->{'nodeType'} == 9 or $node->{'nodeType'} == 11