Branch Coverage

blib/lib/XML/Stream/XPath/Query.pm
Criterion Covered Total %
branch 58 76 76.3


line true false branch
43 0 123 if (not defined $$self{'QUERY'} or $$self{'QUERY'} eq '')
63 20 1660 if ($$pos > length $$self{'QUERY'})
90 369 187 unless defined $in_context
100 0 892 if ($token eq '0' and $in_context)
108 892 0 if (defined $token) { }
111 61 831 if ($pos_start != $token_start - 1) { }
49 782 elsif ($token eq '/') { }
164 618 elsif ($token eq '@') { }
92 526 elsif ($token eq ']') { }
156 370 elsif ($token eq '"' or $token eq q[']) { }
76 294 elsif ($token eq ' ') { }
92 202 elsif ($token eq '[') { }
23 179 elsif ($token eq '(') { }
23 156 elsif ($token eq ')') { }
2 154 elsif ($token eq ',') { }
152 2 elsif ($token eq '=') { }
2 0 elsif ($token eq '!') { }
119 14 35 if (substr($$self{'QUERY'}, $token_start, 1) eq '/') { }
128 29 6 if ($temp_ident ne '')
130 0 29 $pos_start == 0 ? :
140 92 0 if ($in_context eq '[') { }
160 4 72 if ($ident eq 'and') { }
68 4 elsif ($ident eq 'or') { }
164 0 4 unless (defined $tmp_op)
177 0 68 unless (defined $tmp_op)
189 0 92 if ($self->getNextToken($pos) eq ']') { }
191 0 0 if ($$pos == $token_start)
199 0 0 if ($val =~ /^\d+$/) { }
223 0 23 if ($op->getType ne 'NODE')
228 0 23 unless (exists $XML::Stream::XPath::FUNCTIONS{$function})
248 23 0 if ($in_context eq '(') { }
260 0 2 if ($in_context ne '(')
278 0 2 if (substr($$self{'QUERY'}, $token_start, 1) ne '=')
297 336 556 if ($in_context)
299 332 4 if (defined $ret_op)
311 556 336 unless $in_context
328 207 6 if (defined $op)
352 75 117 unless ($op->isValid(\$ctxt))