Branch Coverage

lib/XML/Compile/Translate/Template.pm
Criterion Covered Total %
branch 187 304 61.5


line true false branch
34 1 2 length $prefix ? :
28 3 $self->{'_output'} eq 'PERL' ? :
43 60 35 if $self->{'_output'} eq 'PERL'
46 10 25 length $prefix ? :
64 158 55 unless $as eq 'READER' and $self->{'_output'} eq 'PERL'
71 4 0 if ref $filter ne 'CODE'
74 8 8 unless $entry->{'used'}
76 0 8 unless &$filter($uri, $prefix)
81 0 4 unless my $data = &$processor(@_)
82 4 0 if ($self->{'include_namespaces'})
93 0 3 unless defined $action
95 1 1 $action =~ /^\$/ ? :
1 2 $action =~ s/^[\\]?\&/\$/ ? :
129 40 0 @tags ? :
137 40 0 if length $struct
157 35 5 $max ne 'unbounded' && $max == 1 && $min == 1 ? :
0 40 $max ne 'unbounded' && $max == 1 && $min == 0 ? :
0 40 $max eq 'unbounded' && $min == 0 ? :
163 5 35 if $occur
164 35 5 if ($max ne 'unbounded' and $max == 1) { }
179 0 80 unless my $data = &$opt()
180 61 14 $max ne 'unbounded' && $max == 1 && $min == 1 ? :
4 75 $max ne 'unbounded' && $max == 1 && $min == 0 ? :
1 79 $max eq 'unbounded' && $min == 0 ? :
185 19 61 if $occur
246 0 30 if (not $is_pseudo_type and $recurse_type{$type} or $recurse_tag{$tag})
255 0 30 if (not $is_pseudo_type and $reuse_type{$type} or $reuse_tag{$tag})
271 1 29 $is_nillable ? :
289 0 1 if $simple{'struct'}
290 1 0 if $is_nillable
297 1 0 if $simple{'_TYPE'}
314 0 1 if $is_nillable
322 0 1 unless (@parts)
342 1 66 if $is_nillable
361 0 0 if ($self->{'_output'} eq 'PERL') { }
362 0 0 if $example =~ /[^0-9.]/
382 0 0 if $facet =~ /\s/
383 0 0 if length($lines[-1]) + length($facet) > 55
394 0 0 $k eq 'whiteSpace' ? :
0 0 $k eq 'fractionDigits' ? :
0 0 $k eq 'minExclusive' ? :
6 0 $k eq 'minInclusive' ? :
6 6 $k eq 'maxExclusive' ? :
0 12 $k eq 'maxInclusive' ? :
0 12 $k eq 'minScale' ? :
0 12 $k eq 'maxScale' ? :
0 12 $k eq 'totalDigits' ? :
0 12 $k eq 'minLength' ? :
0 12 $k eq 'maxLength' ? :
0 12 $k eq 'length' ? :
0 12 $k eq 'pattern' ? :
0 12 $k eq 'enumeration' ? :
414 0 6 if (my $enum = $info->{'enumeration'})
494 0 6 if ($processed->{'kind'} eq 'substitution group') { }
6 0 elsif (my $type = $processed->{'_TYPE'}) { }
504 1 5 if ($processed->{'occur'} and $processed->{'occur'} eq 'ABSTRACT') { }
512 1 1 $processed->{'kind'} eq 'simple' ? :
523 2 0 $example_tag ? :
552 0 0 unless $self->prefixed("{$_}")
553 0 0 unless $self->prefixed("{$_}")
554 0 0 @$no ? :
0 0 @$yes ? :
562 0 0 unless $self->prefixed("{$_}")
563 0 0 unless $self->prefixed("{$_}")
564 0 0 @$no ? :
0 0 @$yes ? :
568 0 0 $max ne 'unbounded' && $max == 1 && $min == 1 ? :
0 0 $max ne 'unbounded' && $max == 1 && $min == 0 ? :
0 0 $max eq 'unbounded' && $min == 0 ? :
573 0 0 if $occur
582 0 3 unless $before or $replace or $after
584 0 3 if $replace and @$replace > 1
587 0 3 if $replace and grep {$_ eq 'SKIP';} @$replace
589 3 0 $replace ? :
590 0 3 $before ? :
591 0 3 $after ? :
595 0 0 unless &$_($doc, $path, undef)
597 3 0 @replace ? :
598 0 3 unless defined $xml
600 0 0 unless $xml = &$_($doc, $path, $xml)
607 0 0 if ref $call eq 'CODE'
613 3 0 if ref $call eq 'CODE'
615 0 0 if ($call eq 'COLLAPSE')
632 0 0 if ref $call eq 'CODE'
643 0 16 unless $ast
646 13 3 if ($ast->{'kind'})
649 13 0 defined $pref ? :
662 0 16 unless $args{'skip_header'}
668 13 3 if @lines
675 44 29 if $lines[$linenr] =~ /^\s*\#/
676 13 16 unless $lines[$linenr] =~ s/.*? \=\>\s*//
677 13 3 unless $lines[$linenr] =~ /\S/
692 54 19 if ($ast->{'_TYPE'} and $args->{'show_type'})
693 54 0 if ($pref = $self->prefixed($ast->{'_TYPE'}))
694 12 42 $pref =~ /^[aiou]/i && !($pref =~ /^(uni|eu)/i) ? :
700 56 17 if ($ast->{'struct'} and $args->{'show_struct'})
702 51 5 ref $struct ? :
708 20 9 if $ast->{'occur'} and $args->{'show_occur'}
710 3 2 if ($ast->{'facets'} and $args->{'show_facets'})
712 3 0 ref $facets ? :
718 21 84 if $ast->{'attrs'}
719 46 59 if $ast->{'elems'}
720 0 105 if $ast->{'body'}
725 0 89 unless @sub
728 89 0 unless $sub[-1] =~ /\#\s/
731 46 43 if (ref $ast ne 'BLOCK')
736 68 21 if $sub[0] =~ /^\s*[#{]/ or @subs and $subs[-1] =~ /[}\]]\,\s*$/
743 3 102 if (ref $ast eq 'REP-BLOCK')
745 0 3 unless @subs
746 2 1 unless $subs[0] =~ s/^ /{ /
747 0 3 if ($subs[-1] =~ /\#\s/) { }
753 3 102 if (defined $tag and not $tag =~ /^[\w_][\w\d_]*$/)
760 3 102 if (ref $ast eq 'REP-BLOCK') { }
22 80 elsif (ref $ast eq 'BLOCK') { }
21 59 elsif (@subs) { }
0 59 elsif ($kind eq 'complex' or $kind eq 'mixed') { }
0 59 elsif ($kind eq 'collapsed') { }
0 59 elsif ($kind eq 'union') { }
0 59 elsif (not exists $ast->{'example'}) { }
769 17 4 unless length $subs[0]
770 3 18 if ($ast->{'is_array'}) { }
773 0 3 if ($subs[-1] =~ /\#\s/ or $self->{'_style'} == 2) { }
780 0 18 if ($self->{'_style'} == 2) { }
0 18 elsif ($subs[-1] =~ /\#\s/) { }
782 0 0 if $pref
791 0 0 $ast->{'occur'} ? :
808 59 46 if (defined $example)
809 12 0 unless $example =~ /^[+-]?\d+(?:\.\d+)?$/ or $example =~ /^\$/ or $example =~ /^bless\b/ or $example =~ /^\$?[\w:]*\-\>/ or $example =~ /^\{.*\}$/ or $example =~ /^\[.*\]$/
818 6 53 $ast->{'is_array'} ? :
831 0 2 unless UNIVERSAL::isa($xml, 'XML::LibXML::Element')
846 0 2 unless ($args{'skip_header'})
853 1 1 if $args{'show_type'}
857 6 14 if (/^xmlns\:(.*)/)
870 21 21 if $args->{'show_type'}
873 17 17 if ($ast->{'struct'} and $args->{'show_struct'})
875 17 0 ref $struct ? :
879 5 5 if $ast->{'occur'} and $args->{'show_occur'}
881 2 2 if ($ast->{'facets'} and $args->{'show_facets'})
883 2 0 ref $facets eq 'ARRAY' ? :
886 0 42 if (defined $ast->{'kind'} and $ast->{'kind'} eq 'union')
890 34 8 unless $ast->{'attrs'}
896 4 4 if $args->{'show_type'}
900 13 29 if (@comment)
907 22 20 unless $ast->{'elems'}
909 12 28 if (ref $elem eq 'BLOCK' or ref $elem eq 'REP-BLOCK') { }
0 28 elsif ($elem->{'tag'} eq '_') { }
917 28 0 if $node->isa('XML::LibXML::Element')
925 22 20 if (my $example = $ast->{'example'})
926 5 17 @comment ? :
930 15 15 if ($ast->{'_TYPE'} and $args->{'show_type'})
936 12 30 if wantarray
940 8 22 if @elems