Branch Coverage

blib/lib/CAM/XML.pm
Criterion Covered Total %
branch 1 150 0.6


line true false branch
104 1 0 if ($_[0] =~ /\A-/msx) { }
120 0 0 unless ($pkg)
125 0 0 $flags{-'xmlopts'} ? :
127 0 0 if ($mode eq '-filename') { }
129 0 0 if (open my $fh, '<', $xml)
144 0 0 if ($self and $flags{-'cleanwhitespace'})
165 0 0 unless ($name)
227 0 0 if (not defined $key or $key eq '')
289 0 0 $key ? :
316 0 0 unless defined $index and $index =~ /\A\d+\z/msx
347 0 0 unless defined $index and $index =~ /\A\d+\z/msx
365 0 0 if defined $_ and ref $_
367 0 0 if (@good != @_)
414 0 0 $add eq '-xml' ? :
0 0 $add =~ /\A-(text|cdata)\z/msx ? :
0 0 ref $add ? :
0 0 ref $add && $add->isa('CAM::XML::Text') ? :
0 0 ref $add && $add->isa('CAM::XML') ? :
0 0 !$add ? :
430 0 0 unless (defined $text)
438 0 0 if (@{$$self{'children'};} > 0 and $$self{'children'}[-1]->isa('CAM::XML::Text') and $$self{'children'}[-1]{'type'} eq $type) { }
457 0 0 if ($parsed) { }
485 0 0 if ($child->isa('CAM::XML')) { }
0 0 elsif ($$child{'text'} =~ /\S/msx) { }
487 0 0 if (defined $lasttag)
499 0 0 if (defined $lasttag)
529 0 0 if ($child) { }
531 0 0 if ($child->isa('CAM::XML')) { }
584 0 0 if ($criteria{-'path'})
596 0 0 if ($obj) { }
598 0 0 if ($obj->isa('CAM::XML'))
601 0 0 if ($criteria{-'tag'} and $criteria{-'tag'} eq $$obj{'name'} or $criteria{-'attr'} and exists $$obj{'attributes'}{$criteria{-'attr'}} and $$obj{'attributes'}{$criteria{-'attr'}} eq $criteria{-'value'})
625 0 0 $path =~ m[ (/?)(/?)([^/]+)(.*) \z]msx ? :
0 0 $path =~ m[\A //+ \z]msx ? :
0 0 $path =~ m(\A /?\[([^\]]+)\](.*) \z)msx ? :
0 0 $path =~ m(\A /?\[(\d+)\](.*) \z)msx ? :
0 0 $path =~ m[\A /?text\(\) \z]msx ? :
0 0 !$path ? :
656 0 0 $match ? :
671 0 0 if ($self->_match($node, undef, $limit, $index, scalar @{$kids;}))
688 0 0 if ($node->isa('CAM::XML'))
708 0 0 if ($match =~ s/\[([^\]]+)\]\z//msx)
711 0 0 unless ($limit)
716 0 0 if ($match and $limit) { }
0 0 elsif ($match or $limit) { }
726 0 0 if ($self->_match($node, $match, undef, $index, scalar @{$kids;})) { }
740 0 0 if ($group[$i])
743 0 0 if ($self->_match($node, undef, $limit, $index, $max))
748 0 0 if ($any)
760 0 0 if ($self->_match($node, $match, $limit, $index, scalar @{$kids;}))
764 0 0 if ($any)
786 0 0 if ($tag and $limit)
794 0 0 if ($tag)
796 0 0 unless $is_element
797 0 0 if $$node{'name'} ne $tag
799 0 0 if ($limit)
802 0 0 if ($limit eq 'last()')
807 0 0 if ($limit =~ /\A\-\d+/msx) { }
0 0 elsif ($limit =~ /\A\d+/msx) { }
0 0 elsif ($limit =~ /\A\@(\w+)=\"([^\"]*)\"\z/msx or $limit =~ /\A\@(\w+)=\'([^\']*)\'\z/msx) { }
809 0 0 if $max + $limit + 1 != $index
813 0 0 if $limit != $index
818 0 0 unless $is_element
822 0 0 if not defined $cmp or $val ne $cmp
884 0 0 if ($args{'-formatted'} and not exists $args{'-level'})
887 0 0 unless (exists $args{'-textformat'})
892 0 0 if (not defined $args{'-indent'} or $args{'-indent'} =~ /\D/msx)
906 0 0 defined $level ? :
907 0 0 defined $level ? :
908 0 0 defined $level ? :
923 0 0 if (@{$$self{'children'};} == 0) { }
0 0 elsif ($args{'-formatted'} and not $args{'-textformat'} and 0 == scalar grep({$_->isa('CAM::XML');} @{$$self{'children'};})) { }
943 0 0 if ($child->isa('CAM::XML')) { }
945 0 0 defined $level ? :
966 0 0 unless (defined $text)