Branch Coverage

blib/lib/XML/TinyXML/Selector/XPath.pm
Criterion Covered Total %
branch 82 112 73.2


line true false branch
159 42 0 if ($set)
161 0 0 scalar(@$set > 1) ? :
42 0 wantarray ? :
175 1 19 wantarray ? :
193 22 87 unless $t
194 43 44 unless ($t =~ /::/)
195 34 9 unless $t =~ /\./
207 0 8 unless (grep /^$fun$/, @AllFunctions)
218 0 92 if ($axis =~ /(\S+)\s+(\S+)\s+(\S+)/) { }
227 0 92 unless (grep /^$axis$/, @Axes)
239 0 14 if $string =~ /^([\"'])(?:\\\1|.)*?\1$/
255 6 6 if ($predicate =~ /^([0-9]+)$/) { }
0 6 elsif (($attr, $value) = $predicate =~ /^\@(\S+)\s*=\s*(.*)\s*$/) { }
6 0 elsif (($child, $value) = $predicate =~ /^(\S+)\s*=\s*(.*)\s*$/) { }
0 0 elsif (($attr) = $predicate =~ /^\@(\S+)$/) { }
267 0 12 wantarray ? :
274 20 94 if ($expr =~ m[^/] and not $recurse)
283 92 22 if ($token and $token =~ /([\w-]+)::([\w\(\)\=]+|\*)(\[.*?\])*$/) { }
288 10 82 if ($nodetest eq '*') { }
293 148 354 if ($nodetest =~ /\(\)/) { }
294 148 0 if ($nodetest eq 'node()') { }
295 148 0 if $node->type ne 'ATTRIBUTE'
300 90 264 if $node->name eq $nodetest
304 30 62 if ($full_predicate and $full_predicate =~ s/^\[(.*?)\]$/$1/) { }
316 1 30 $1 && $2 && $3 ? :
320 4 27 if ($inner_predicate =~ /^(.*?)\s+(and|or)\s+(.*)$/)
332 1 34 if ($predicate_string =~ /^__SET:(\S+)__$/) { }
22 12 elsif ($predicate_string =~ /::/) { }
336 14 8 if $v
340 11 13 if ($node->type eq 'ATTRIBUTE') { }
342 1 10 if $v and $node->value ne $self->_unescape($v)
343 10 0 unless $uniq{$nodepath}
347 13 0 if ($parent) { }
348 3 10 if $v and $node->value ne $v
349 10 0 unless $uniq{$parent->path}
359 0 12 if ($$predicate{'attr'}) { }
6 6 elsif ($$predicate{'child'}) { }
6 0 elsif ($$predicate{'idx'}) { }
361 6 0 if ($$predicate{'child'} =~ s/\(.*?\)//) { }
364 6 0 if ($$predicate{'child_value'})
372 2 4 if ($value =~ s/\(.*?\)(.*)$//) { }
2 2 elsif ($value =~ /^(.*?)($op_string)(.*)$/) { }
375 1 1 if ($extra)
376 1 0 if ($extra =~ /($op_string)(.*)$/)
383 6 0 if ($func eq 'position')
396 4 27 if ($op) { }
403 29 2 if ($inner_predicate eq $full_predicate)
407 0 2 unless $inner_predicate
411 1 29 if ($full_predicate =~ /__SET:(\S+)__/)
416 0 62 if $full_predicate
422 12 21 if ($token) { }
424 0 12 if ($token =~ /\[.*?\]/) { }
426 0 0 if $child
429 0 11 if $child->name eq $token
439 50 64 if (@tokens)
443 22 42 wantarray ? :