Branch Coverage

blib/lib/XML/XPathScript/Processor.pm
Criterion Covered Total %
branch 110 164 67.0


line true false branch
98 0 77 unless my $class = ref($self->{'dom'} = $dom)
101 77 0 if ($class =~ /((?:XML::)(?:LibXML|XPath))/) { }
0 0 elsif ($class =~ /B::XPath/) { }
119 77 0 if ($parser eq 'XML::LibXML') { }
0 0 elsif ($parser eq 'XML::XPath') { }
0 0 elsif ($parser eq 'B::XPath') { }
156 0 73 unless $self
159 1 72 unless ref $self
180 292 2336 $export =~ s/^(\W)// ? :
195 0 0 $type eq '*' ? :
0 0 $type eq '%' ? :
0 0 $type eq '@' ? :
292 0 $type eq '$' ? :
2336 292 $type eq '&' ? :
205 0 2584 if ($self->{'parser'} eq 'XML::XPath')
210 85 2499 unless defined $context
216 0 8070 if ($self->{'parser'} eq 'XML::XPath')
221 8 8062 unless defined $context
230 10119 1447 unless ref $blob
234 24 0 $blob->can('value') ? :
1423 24 $blob->can('data') ? :
260 0 0 if $@
266 1724 1238 ref $_[-1] eq 'HASH' ? :
269 46 2916 unless @_
271 35 2927 unless (ref $_[0])
275 1 2961 unless @_
281 0 2961 $self->is_nodelist($_[0]) ? :
290 0 0 if (defined(my $sub = $template->{'testcode'})) { }
0 0 elsif (exists $t->{'prechild'} or exists $t->{'prechildren'} or exists $t->{'postchild'} or exists $t->{'postchildren'}) { }
325 0 3240 if ($charlength == 3) { }
3237 3 elsif ($charlength == 4 and $bytelength == 4) { }
3 0 elsif ($charlength == 4 and $bytelength == 6) { }
347 0 0 if $node->isa('XML::XPath::Node::Element') and not $self->isa('XML::XPath::Node::ElementImpl') and $node =~ /SCALAR/
351 129 0 $node->can('parentNode') ? :
355 20 109 unless defined $parent
358 106 3 if ($self->is_element_node($node)) { }
3 0 elsif ($self->is_text_node($node)) { }
0 0 elsif ($self->is_comment_node($node)) { }
0 0 elsif ($self->is_pi_node($node)) { }
372 0 294 $_->isa('XML::XPath::Node::Element') ? :
376 4 105 if ($self->is_element_node($node) and my $id = $self->findvalue('@id', $node))
383 0 105 $node =~ /SCALAR/ ? :
387 0 173 $brothers[$i] =~ /SCALAR/ ? :
389 105 68 if $theself eq $thebrother
409 0 0 if ($node->getParentNode->getParentNode) { }
0 0 $self->is_pi_node($node) ? :
12 0 $self->is_comment_node($node) ? :
1475 12 $self->is_text_node($node) ? :
1617 1487 $self->is_element_node($node) ? :
415 1 3103 if ($self->{'binmode'} and $self->is_utf8_tainted($retval))
436 57 1418 unless $trans
442 1409 9 if (my $code = $trans->{'testcode'})
448 0 1418 if defined $action and $action == 0
451 2 1416 if defined $action and $action == 2
472 88 1529 unless ($trans)
487 8 1521 if (my $content = $trans->{'content'} || $trans->{'contents'})
497 1467 54 if ($trans->{'testcode'})
502 0 1521 if $action =~ /^-?\d+$/ and $action == 0
504 34 1487 if (defined $action and not $action =~ /^-?\d+/) { }
71 1416 elsif ($action == -1) { }
513 34 71 $search ? :
1416 105 $dokids ? :
521 16 1505 if $t->{'showtag'}
523 1087 434 if @kids
526 1087 434 if @kids
528 16 1505 if $t->{'showtag'}
538 387 1333 if $kid_is_element
543 387 1333 if $kid_is_element
554 0 8 if ref $content eq 'CODE'
560 0 8 unless open STDOUT, '>', \$output
576 0 8 if $@
587 9898 1992 unless $tag
589 14 1978 if ref $tag eq 'CODE'
602 0 12 unless $trans
611 10 2 if (my $code = $trans->{'testcode'})
614 9 1 if ($action and %$t)
622 1 11 if $action =~ /^-?\d+$/ and $action == $DO_NOT_PROCESS
624 10 1 if $action == $DO_SELF_ONLY
635 0 104 unless $name ||= $self->get_qualified_name($node)
640 0 104 if ($self->{'parser'} eq 'XML::XPath')
656 104 0 if (my $name = $_[1] || $self->get_qualified_name($_[0]))
669 1901 85 unless defined $string and $self->{'is_interpolating'}