Condition Coverage

blib/lib/SOAP/Lite.pm
Criterion Covered Total %
condition 122 569 21.4


and 3 conditions

line !l l&&!r l&&r condition
77 2 0 58 $method =~ s/^as_// and grep {$_ eq $method;} @{$export_var;}
195 1 0 1 $value && $value ne 'false'
301 0 1 1 $value && $value ne 'false'
416 0 0 24 ref $self and UNIVERSAL::isa($self, 'SOAP::Cloneable')
421 79 102 18 ref $value && UNIVERSAL::isa($value, 'SOAP::Cloneable')
464 13 0 0 'Class::Inspector'->loaded("${protocol_class}::Client") and UNIVERSAL::can("${protocol_class}::Client", 'new')
505 0 0 0 $^W and @_ & 1
564 206 0 0 $^W and @_ & 1
620 10 296 0 not defined $$self{'_type'} and my(@types) = grep({/^\{$SOAP::Constants::NS_XSI_ALL}type$/o;} keys %{$$self{'_attr'};})
642 0 0 0 not defined $$self{$field} and defined $$self{'_attr'}{$attr}
660 0 0 0 not defined $$self{$field} and defined $$self{'_attr'}{$attr}
689 0 0 0 defined $uri and $^W
0 0 0 defined $uri and $^W and $uri =~ /::/
807 10 2 15 $_[0] =~ /^([+-]?\d+)$/ and $1 <= 2147483647
860 24 1 0 $^W and @_ & 1
1065 50 1 0 $$seen{'multiref'} && !($$seen{'id'} = shift() || $$seen{'recursive'} || $$seen{'multiref'} && $self->multirefinplace)
1154 106 0 0 $self->can($method) and $self->$method($_, $name || gen_name(), $object->SOAP::Data::type, $attr)
1170 0 0 0 not defined $type and $self->autotype
1329 0 1 0 $self->autotype and grep {not /$SOAP::Constants::ELMASK/o;} keys %$hash
1334 0 0 1 $self->autotype and not defined $type
0 1 0 $self->autotype and not defined $type and exists $self->maptype->{'SOAPStruct'}
1385 0 5 20 $self->autotype and not defined $type
1386 0 5 0 defined $type && $type gt ''
1415 43 0 0 not defined $prefix and $xmlns gt ''
1416 43 0 0 defined $xmlns and $xmlns eq ''
0 43 0 defined $prefix and $prefix eq ''
1461 81 0 0 exists $$attrs{'_xml'} and delete $$attrs{'_xml'}
1483 0 51 149 $_ and defined $$attrs{$_}
1512 0 50 1 defined $id and $$self{'_seen'}{$id}{'multiref'}
1528 12 0 0 ref $_[0] && UNIVERSAL::isa($_[0], 'SOAP::Data')
1544 0 0 0 ref $_[0]->attr && ($_[0]->attr->{$prefix ? "xmlns:$prefix" : 'xmlns'} || $_[0]->uri)
1550 0 0 0 $method_is_data && $^W && warn("URI is not provided as an attribute for method ($method)\n")
1583 2 23 6 defined $_ and ref $_
25 6 0 defined $_ and ref $_ and UNIVERSAL::isa($_, 'SOAP::Header')
2 23 6 defined $_ and ref $_
25 5 1 defined $_ and ref $_ and $self->context
28 1 0 defined $_ and ref $_ and $self->context and $self->context->packager->is_supported_part($_)
1707 6 0 13 $self->context and $self->context->packager->parts
1996 0 0 0 $path and substr($path, 0, 1) eq '{'
1997 0 0 0 @path and not $path =~ /}/
2010 0 0 0 defined $num && eval "$itself $op $num"
2016 0 0 0 defined $num and not $numok
2019 0 0 0 defined $num and $numok
0 0 0 not defined $num and $nameok
2039 0 0 0 ref o_lattr($_) && exists o_lattr($_)->{"{$SOAP::Constants::NS_ENC}root"}
2120 0 0 0 lc $type eq 'text/xml' && !$SOAP::Constants::DO_NOT_PROCESS_XML_IN_MIME
2125 0 0 0 $id and $id =~ /^<([^>]+)>$/
2204 0 0 0 $SOAP::Deserializer::uris{$1} and do { $attrs{SOAP::Utils::longname($SOAP::Deserializer::uris{$1}, $2)} = do { my $value = $attrs{$_}; $2 ne 'type' && $2 ne 'arrayType' ? $value : SOAP::Utils::longname($value =~ /^($SOAP::Constants::NSMASK?):($SOAP::Constants::NSMASK(?:\[[\d,]*\])*)/ ? ($SOAP::Deserializer::uris{$1} || die("Unresolved prefix '$1' for attribute value '${value}'\n"), $2) : ($SOAP::Deserializer::uris{''} || die("Unspecified namespace for type '${value}'\n"), $value)) }; 1 }
2207 0 0 0 $2 ne 'type' && $2 ne 'arrayType'
2243 0 0 0 $envelope eq 'Envelope' and $namespace
2253 0 0 0 defined $encodingStyle and length $encodingStyle
2261 0 0 0 'SOAP::Lite'->soapversion == 1.1 and $encodingStyle =~ /(?:^|\b)$SOAP::Constants::NS_ENC/
2286 0 0 0 $schema and $schema =~ /XMLSchema/
2289 0 0 0 $schemaclass->can('anyTypeValue') and $schemaclass->anyTypeValue eq $class
2297 0 0 0 defined $id and exists $self->hrefs->{$id}
2303 0 0 0 defined $type and $type eq 'cid:'
2338 0 0 0 not $schemaclass->can($method) and ref $children || defined $class && $value =~ /^\s*$/
2368 0 0 0 ref $children and exists SOAP::Utils::o_lattr($$children[0])->{"{$SOAP::Constants::NS_ENC}position"}
2385 0 0 0 $multisize and $size < @$res
2389 0 0 0 defined $dimensions[0] and @$res < $dimensions[0]
2391 0 0 0 defined $class && $class ne 'Array'
2424 0 0 0 defined $class && $class ne 'SOAPStruct'
2448 0 0 0 @$array and !defined($size) || $size--
2513 0 0 0 ref $_ && exists $alive{ref $_}
2524 0 0 0 ref $object and $alive{ref $object}
0 0 0 ref $object and $alive{ref $object} and exists $$object{'id'}
2536 0 0 0 ref $_ && exists $alive{ref $_} && exists $$_{'id'}
2604 0 0 0 $^W && Carp::carp("Unrecognized parameter '${method}' in new()")
2625 1 0 0 $^W and @_ & 1
2631 0 0 0 $^W && Carp::carp("Unrecognized parameter '${method}' in new()")
2832 0 1 0 $@ and $@ =~ /^$SOAP::Constants::WRONG_VERSION/
2851 0 0 0 not $SOAP::Constants::DO_NOT_CHECK_MUSTUNDERSTAND and grep {not $_->actor or $_->actor eq $SOAP::Constants::NEXT_ACTOR if $_->mustUnderstand;} $request->dataof($som->headers)
2875 0 0 0 defined $parameters[0] && ref $parameters[0] && UNIVERSAL::isa($parameters[0], $class)
2999 0 0 0 ref $_ and UNIVERSAL::isa($_, 'SOAP::Custom::XML::Data')
3031 0 0 0 ref $children && @$children
3144 0 0 0 $service and $service ne $name
3147 0 0 0 $port and $port ne $_->name
3171 0 0 0 $invocationStyle eq 'document' and $encodingStyle eq 'literal'
3232 0 0 0 $^W and @_ & 1
3289 0 0 0 $ttl > 0 and $cache_lived > $ttl
3313 0 0 0 $ENV{'HTTP_proxy_user'} and $ENV{'HTTP_proxy_pass'}
3395 0 0 0 defined $ns and $ns eq 'xmlns'
3458 0 0 0 ref $_[0] && UNIVERSAL::isa($_[0], 'SOAP::Lite')
3465 0 0 0 ref $_[0] && UNIVERSAL::isa($_[0], 'SOAP::Lite')
3479 0 0 0 @_ and not ref $_[0]
0 0 0 @_ and not ref $_[0] and $_[0] eq $pack || $_[0] eq 'SOAP'
0 0 0 ref $_[0] and UNIVERSAL::isa($_[0], 'SOAP::Lite')
3541 0 0 25 defined $version and defined(my $def = $SOAP::Constants::SOAP_VERSIONS{$version})
3562 38 6 0 defined $_[0] and $_[0] =~ /^\d/
3568 0 1 7 @_ and $command ne 'autodispatch'
3601 5 2 0 $^W and not @parameters & 1
3630 18 1 0 $^W and @_ & 1
3634 0 0 0 $^W && Carp::carp("Unrecognized parameter '${method}' in new()")
3772 11 0 0 $self->autoresult && UNIVERSAL::isa($som, 'SOAP::SOM')
3783 0 0 12 defined $self->proxy and UNIVERSAL::isa($self->proxy, 'SOAP::Client')
3806 0 0 0 UNIVERSAL::isa($result, 'SOAP::SOM') and $result->fault
3822 0 0 0 UNIVERSAL::isa($result, 'SOAP::SOM') and $result->paramsout || $result->headers
0 0 0 UNIVERSAL::isa($result, 'SOAP::SOM') and $result->paramsout || $result->headers and $serializer->signature

or 2 conditions

line l !l condition
920 1 1 !$use || 0
1051 1 1 $$id_seen{'recursive'} ||= 0
1063 52 0 shift() or return
1115 101 75 $attr ||= {}
1147 0 99 $object->SOAP::Data::type || '-'
1158 17 89 $$_[1]{'xsi:type'} || ''
1244 0 0 $$_[1]{'xsi:type'} || '-'
1273 2 0 $$_[1]{'xsi:type'} || '-'
1355 0 0 $self->namespaces->{$SOAP::Constants::NS_APS} ||= 'apachens'
1498 81 0 $attrs ||= {}
1548 0 0 $prefix or ''
1730 0 18 eval { do { $SOAP::Constants::DO_NOT_USE_XML_PARSER ? undef : do { require XML::Parser; 'XML::Parser'->new } } } || eval { do { require XML::Parser::Lite; 'XML::Parser::Lite'->new } } || die("XML::Parser is not @{[$SOAP::Constants::DO_NOT_USE_XML_PARSER ? 'used' : 'available'];} and ", $@)
2011 0 0 o_lname($pointer) || ''
2101 0 0 $self->base || 'thismessage:/'
2207 0 0 $SOAP::Deserializer::uris{$1} || die("Unresolved prefix '$1' for attribute value '${value}'\n")
0 0 $SOAP::Deserializer::uris{''} || die("Unspecified namespace for type '${value}'\n")
2221 0 0 $SOAP::Deserializer::uris{$ns} || die("Unresolved prefix '${ns}' for element '${name}'\n")
2240 0 0 $SOAP::Deserializer::level || 0
2280 0 0 eval "require $schemaclass" or die $@
2293 0 0 $class || '-'
2350 0 0 $_ || 0
2739 0 0 $request->namespaceuriof || ''
2920 0 0 $@->faultstring || 'Application error'
3073 0 0 shift() || $self->base || die('Missing base argument for ', 'SOAP::Schema::WSDL', "\n")
3135 0 0 $service || 'FakeService'
0 0 $port || 'FakePort'
3160 0 0 $_->operation->style || $default_style || 'rpc'
3161 0 0 $_->input->body->use || 'encoded'
3458 0 0 $soap || die("SOAP:: prefix shall only be used in combination with +autodispatch option\n")
3622 11 1 shift() || ''
3828 0 0 $_->type || ''

or 3 conditions

line l !l&&r !l&&!r condition
317 175 0 0 $_[0] || ()
418 24 0 0 ref $self || $self
441 0 15 0 ref $self || $self
883 0 0 2 $p || ($prefix = $self->find_prefix($u))
1105 0 0 0 $self->namespaces->{$self->maptype->{$name}} ||= gen_ns()
1145 0 0 0 $name || gen_name()
1154 0 0 0 $name || gen_name()
71 35 0 $name || gen_name()
0 5 101 $self->can($method) and $self->$method($_, $name || gen_name(), $object->SOAP::Data::type, $attr) or $self->typecast($_, $name || gen_name(), $object->SOAP::Data::type, $attr)
1181 49 1 2 UNIVERSAL::isa($object, 'REF') or UNIVERSAL::isa($object, 'SCALAR')
1186 0 0 1 $self->encodingStyle eq '' || $self->isa('XMLRPC::Serializer')
1201 84 5 0 $name ||= gen_name()
1218 28 0 0 $self->can($method) && $self->$method($value, $name, $type, $attr) || &$method($value, $name, $type, $attr)
1236 0 0 0 $name ||= gen_name()
1245 0 0 0 keys %types > 1 || $arraytype eq '-'
1249 0 0 0 $name || SOAP::Utils::qualify($self->encprefix, 'Array')
1276 0 0 1 keys %types > 1 || $arraytype eq '-'
1283 0 1 0 $name || SOAP::Utils::qualify($self->encprefix, 'Array')
1317 0 0 0 $name || SOAP::Utils::qualify($self->encprefix, 'Array')
1331 0 0 0 $name || gen_name()
1338 0 1 0 $name || gen_name()
1410 0 43 56 defined $xmlns or defined $prefix
1414 43 0 0 $name ||= gen_name()
1416 0 0 43 defined $xmlns and $xmlns eq '' or defined $prefix and $prefix eq ''
1420 0 0 0 $prefix || ()
1434 21 0 0 $self->namespaces->{$1} ||= gen_ns()
1442 0 0 21 $2 eq 'type' || $2 eq 'arrayType'
1483 135 14 0 $_ ne 'xsi:type' or $$attrs{$_} ne ''
1550 0 0 0 !$prefix || $prefix eq $self->envprefix
1601 17 0 2 $type eq 'method' or $type eq 'response'
1744 0 0 18 $$self{'_parser'} ||= $self->xmlparser
1880 0 0 0 ref $self || $self
1986 0 0 0 $path =~ s[^/][] || !@{$$self{'_current'};}
2004 0 0 0 $op eq '=' or $op eq '!'
2016 0 0 0 defined $num || $nameok
0 0 0 defined $num and not $numok or not defined $num || $nameok
2019 0 0 0 defined $num and $numok or not defined $num and $nameok
2204 0 0 0 $1 =~ /^[xX][mM][lL]/ or $SOAP::Deserializer::uris{$1} and do { $attrs{SOAP::Utils::longname($SOAP::Deserializer::uris{$1}, $2)} = do { my $value = $attrs{$_}; $2 ne 'type' && $2 ne 'arrayType' ? $value : SOAP::Utils::longname($value =~ /^($SOAP::Constants::NSMASK?):($SOAP::Constants::NSMASK(?:\[[\d,]*\])*)/ ? ($SOAP::Deserializer::uris{$1} || die("Unresolved prefix '$1' for attribute value '${value}'\n"), $2) : ($SOAP::Deserializer::uris{''} || die("Unspecified namespace for type '${value}'\n"), $value)) }; 1 }
2261 0 0 0 $found or 'SOAP::Lite'->soapversion == 1.1 and $encodingStyle =~ /(?:^|\b)$SOAP::Constants::NS_ENC/
2274 0 0 0 defined $schema && $$self{'_xmlschemas'}{$schema} || $self
2327 0 0 0 $1 or $2
2338 0 0 0 ref $children || defined $class && $value =~ /^\s*$/
0 0 0 $name =~ /^\{$SOAP::Constants::NS_ENC\}Struct$/ or not $schemaclass->can($method) and ref $children || defined $class && $value =~ /^\s*$/
2448 0 0 0 !defined($size) || $size--
2522 0 0 0 ref $self || $self
2750 0 0 0 $self->dispatch_with->{$method_uri} || $self->dispatch_with->{$action or ''} || (defined $action && $action =~ /^"(.+)"$/ ? $self->dispatch_with->{$1} : undef)
2772 0 0 0 $class =~ /^$_$/ || $fullname =~ /^$_$/ || $method_name =~ /^$_$/ && $class eq 'main'
0 0 0 $static ||= $class =~ /^$_$/ || $fullname =~ /^$_$/ || $method_name =~ /^$_$/ && $class eq 'main'
2798 0 0 0 $class eq 'main' or $class->can($method_name)
0 0 0 $class eq 'main' or $class->can($method_name) or exists $INC{join '/', split(/::/, $class . '.pm', 0)}
2809 0 0 0 $static or grep {/^$class$/;} $self->dispatched
2846 0 0 0 not $_->actor or $_->actor eq $SOAP::Constants::NEXT_ACTOR
2920 0 0 0 $@->faultcode || $SOAP::Constants::FAULT_SERVER
2933 0 0 1 $actor || $self->myuri
2976 0 0 0 $all or $pack->can($_)
3162 0 0 0 $_->input->body->namespace || $tns
3282 0 0 0 $self->cache_ttl || $SOAP::Constants::DEFAULT_CACHE_TTL
3309 0 0 0 shift() || $self->schema_url || Carp::croak('Nothing to access. URL is not specified')
3465 0 0 0 ref $_[0] || ($_[0] eq 'SOAP' ? $currenturi || Carp::croak('URI is not specified for method call') : $_[0])
0 0 0 $currenturi || $package
3479 0 0 0 $_[0] eq $pack || $_[0] eq 'SOAP'
0 0 0 @_ and not ref $_[0] and $_[0] eq $pack || $_[0] eq 'SOAP' or ref $_[0] and UNIVERSAL::isa($_[0], 'SOAP::Lite')
3572 1 0 7 $command eq 'autodispatch' or $command eq 'dispatch_from'
0 0 7 $command eq 'debug' or $command eq 'trace'
3573 0 1 0 $soap || $pkg
3602 2 5 0 $soap || $pkg
3626 5 14 0 $self->on_nonserialized || $self->serializer->on_nonserialized
3806 11 0 1 not $self->transport->is_success or $@
1 0 0 not $self->transport->is_success or $@ or UNIVERSAL::isa($result, 'SOAP::SOM') and $result->fault
3811 0 0 11 $self->on_fault->($self, $@ ? $@ . ($response || '') : $result) || $result
3822 0 0 0 $result->paramsout || $result->headers