Branch Coverage

lib/XML/Compile/SOAP.pm
Criterion Covered Total %
branch 70 150 46.6


line true false branch
37 0 6 if $class eq 'XML::Compile::SOAP'
51 0 6 unless UNIVERSAL::isa($schemas, 'XML::Compile::Cache')
60 0 6 if $schemas->{'did_init_SOAP'}++
72 7 0 if $env
87 0 193 unless ref $_[0]
96 6 0 $direction eq 'RECEIVER' ? :
5 6 $direction eq 'SENDER' ? :
105 1 0 $xml->isa('XML::LibXML::Document') ? :
108 1 0 if (my($header) = $env->getChildrenByLocalName('Header'))
109 1 2 $_->isa('XML::LibXML::Element') ? :
112 0 1 if (my $wsa = ($header->getChildrenByTagNameNS('http://www.w3.org/2005/08/addressing', 'Action'))[0])
118 1 0 if (my($body) = $env->getChildrenByLocalName('Body'))
119 1 2 $_->isa('XML::LibXML::Element') ? :
135 0 5 if $args{'role'}
136 0 5 if $args{'roles'}
139 0 5 $args{'hooks'} ? :
142 1 4 if &_xop_enabled()
146 0 5 $args{'create_body'} ? :
154 5 0 if ($style eq 'document') { }
0 0 elsif ($style eq 'rpc') { }
160 0 0 unless my $procedure = $args{'procedure'} || $args{'body'}{'procedure'}
164 0 0 $use eq 'literal' ? :
179 7 3 ref $_[0] eq 'HASH' ? :
190 1 3 unless exists $copy{$label}
195 12 8 unless exists $copy{$label}
199 0 10 if (@$blabels == 2 and not keys %{$data{'Body'};}) { }
0 10 elsif (keys %copy) { }
213 0 10 unless my $root = &$envelope($doc, \%data)
218 2 8 if wantarray
221 0 8 unless @mtom == 0
233 0 13 if UNIVERSAL::isa($data, 'XML::LibXML::Element')
241 11 12 if (my $v = delete $data{$k})
246 0 13 if (keys %data)
275 0 0 if UNIVERSAL::isa($data, 'XML::LibXML::Element')
284 0 0 if defined $v
290 0 0 if defined $v
292 0 0 if keys %data
319 5 0 ref $header eq 'ARRAY' ? :
323 2 0 if ($part->{'element'}) { }
0 0 elsif (my $type = $part->{'type'}) { }
358 9 0 if ($part->{'element'}) { }
0 0 elsif (my $type = $part->{'type'}) { }
384 24 6 if $_[0] ne $soapenv
394 0 0 unless $args->{'style'} eq 'rpc'
397 0 0 if $part->{'writer'}
403 0 0 if $_[0] ne $soapenv
415 3 1 unless UNIVERSAL::isa($val, 'XML::Compile::XOP::Include')
433 0 6 if $args{'destination'}
436 0 6 if $args{'understand'}
449 0 6 if ($style eq 'rpc') { }
0 6 elsif ($style ne 'document') { }
451 0 0 unless keys %{$args{'body'};} == 0 or $procedure
455 0 0 $use eq 'literal' ? :
466 6 0 unless $self->{'hooks'}
484 6 3 unless delete $data->{'Header'}
485 0 9 unless delete $data->{'Body'}
505 13 10 unless $child->isa('XML::LibXML::Element')
507 9 1 if (my $t = $trans{$type}) { }
509 0 9 unless my $v = &$code($child)
510 0 9 if (not defined $v) { }
9 0 elsif (not exists $h{$label}) { }
0 0 elsif (ref $h{$label} eq 'ARRAY') { }
522 1 0 if $child->getAttributeNS($envns, 'mustUnderstand') or 0
543 0 0 unless my $xml = shift()
546 0 0 unless $child->isa('XML::LibXML::Element')
548 0 0 if (my $t = $trans{$type}) { }
578 6 0 unless $args->{'hooks'}
579 1 5 if &_xop_enabled()
589 4 0 if ($part->{'element'}) { }
0 0 elsif ($part->{'type'}) { }
618 0 0 unless $args->{'style'} eq 'rpc'
623 0 0 if $part->{'reader'}
647 1 3 if (my $incls = $xml->getElementsByTagNameNS('http://www.w3.org/2004/08/xop/include', 'Include'))
648 0 1 unless my $href = $incls->shift->getAttribute('href') || ''
652 0 1 unless my $xop = $$refxops->{$href}