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
388 0 0 0 $$ctx{'node'}{'nodeType'} == 7 && (!$$self{'target'} || $$ctx{'node'}{'nodeName'} eq $$self{'target'})
696 0 0 0 $n and $n != $n->parentNode
889 0 0 0 $$self{'expr1'}->evaluate($ctx)->booleanValue && $$self{'expr2'}->evaluate($ctx)->booleanValue
930 0 2 0 $$v1{'type'} eq 'node-set' and $$v2{'type'} eq 'node-set'
1131 421 0 18 @result and length $result[0] > length $match
1138 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
1216 18 63 0 $cand and !$ahead || $$cand{'prec'} > $$ahead{'prec'} || $$ahead{'tag'}{'left'} && $$cand{'prec'} >= $$ahead{'prec'}
1257 63 76 359 $p >= 0 and $s >= 0
1263 0 4 2 $s - $ds >= 0 and $$stack[$s - $ds]{'tag'} == $$pattern[$p]
1272 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]
1282 0 0 0 $s - $ds >= 0 and $$stack[$s - $ds]{'tag'} == $$pattern[$p]
1323 0 0 0 ref $frame eq 'ARRAY' and @$frame
1324 0 4 59 @{$$frame{'rule'};} >= 3 and $$frame{'rule'}[2] >= 0

or 2 conditions

line l !l condition
220 0 9 $predicate || []
1054 597 0 shift() || []
1316 4 4 $$tag{'prec'} || 2

or 3 conditions

line l !l&&r !l&&!r condition
525 0 0 0 @{$$self{'args'};} == 1 || @{$$self{'args'};} == 0
542 0 0 0 @{$$self{'args'};} == 1 || @{$$self{'args'};} == 0
607 0 0 0 @{$$self{'args'};} == 2 || @{$$self{'args'};} == 3
707 0 0 0 $xmllang =~ /$re/ || ($xmllang =~ s/_.*$//) =~ /$re/
713 0 0 0 @{$$self{'args'};} == 1 || @{$$self{'args'};} == 0
886 0 0 0 $$self{'expr1'}->evaluate($ctx)->booleanValue || $$self{'expr2'}->evaluate($ctx)->booleanValue
930 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'
1138 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
1216 59 0 4 !$ahead || $$cand{'prec'} > $$ahead{'prec'} || $$ahead{'tag'}{'left'} && $$cand{'prec'} >= $$ahead{'prec'}
1944 3 0 168 $$pattern[$j] == $Q_MM or $$pattern[$j] == $Q_01
2049 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