Branch Coverage

blib/lib/RPC/XML.pm
Criterion Covered Total %
branch 137 144 95.1


line true false branch
187 34 53 if (&blessed($values[0]) and $values[0]->isa('RPC::XML::refmap')) { }
200 2 150 if (not defined $value) { }
53 97 elsif (ref $value) { }
53 44 elsif (not $RPC::XML::FORCE_STRING_ENCODING and $value =~ /^[-+]?[0-9]+$/ and $value >= $MIN_BIG_INT and $value <= $MAX_BIG_INT) { }
4 40 elsif (not $RPC::XML::FORCE_STRING_ENCODING and $value =~ / ^ [+-]? (?=[0-9]|[.][0-9]) [0-9]* (?:[.][0-9]*)? (?:[Ee](?:[+-]?[0-9]+))? $ /x and $value > $MIN_DOUBLE and $value < $MAX_DOUBLE) { }
3 37 elsif ($value =~ /$RPC::XML::DATETIME_REGEXP/) { }
202 1 1 $RPC::XML::ALLOW_NIL ? :
208 4 49 if $seenrefs->{$value}++
210 27 22 if (&blessed($value) and $value->isa('RPC::XML::datatype') || $value->isa('DateTime')) { }
10 12 elsif (&reftype($value) eq 'HASH') { }
7 5 elsif (&reftype($value) eq 'ARRAY') { }
4 1 elsif (&reftype($value) eq 'SCALAR') { }
216 26 1 if ($value->isa('RPC::XML::datatype')) { }
241 22 1 if (my(@value) = smart_encode($seenrefs, $value->{$key}))
284 5 48 if ($value > $MAX_INT or $value < $MIN_INT) { }
321 47 39 wantarray ? :
365 1 125 if ($class eq 'RPC::XML::simple_type')
372 6 119 if (ref $value)
375 5 1 if (&reftype($value) eq 'SCALAR') { }
396 1 130 unless (ref $self)
412 1 163 unless ($class)
420 11 152 if (substr($class, 0, 8) eq 'datetime')
502 1 14 unless (ref $self)
534 1 56 unless (ref $self)
542 56 0 defined ${$self;} ? :
567 4 4 if ($value =~ /true|yes|1/i) { }
3 1 elsif ($value =~ /false|no|0/i) { }
608 1 69 if (ref $value and &reftype($value) eq 'SCALAR')
613 69 1 if (defined $value) { }
615 10 59 if ($value =~ /$RPC::XML::DATETIME_REGEXP/) { }
59 0 elsif ($RPC::XML::DATETIME_ISO8601_AVAILABLE) { }
621 2 8 $7 ? :
622 6 4 if ($8)
630 56 3 if ($newvalue)
638 3 66 unless ($newvalue)
674 1 0 unless ($RPC::XML::ALLOW_NIL or $flag)
722 8 0 if (2 == @args and $args[0] eq 'from' and &reftype($args[1]) eq 'ARRAY')
740 2 8 if ($no_recurse) { }
816 14 6 ref $args[0] && &reftype($args[0]) eq 'HASH' ? :
823 5 15 grep({not &blessed($_) && $_->isa('RPC::XML::datatype');} values %args) ? :
837 4 8 if ($no_recurse) { }
936 5 9 $encoded ? :
941 8 6 if (ref $value and &reftype($value) eq 'GLOB') { }
955 1 5 ref $value ? :
958 1 5 if ($self->{'encoded'})
972 18 8 defined $flag && $flag ? :
977 11 15 if ($self->{'inmem'}) { }
982 7 4 $as_base64 ? :
997 7 8 if ($as_base64 == $self->{'encoded'}) { }
1007 6 2 if ($as_base64) { }
1054 1 2 if ($self->{'inmem'}) { }
1066 1 1 if ($self->{'encoded'}) { }
1101 2 3 if ($self->{'inmem'}) { }
1108 1 2 if ($self->{'encoded'}) { }
1142 2 3 if (ref $file) { }
1144 1 1 if (&reftype($file) eq 'GLOB') { }
1156 0 3 unless (open $fh, '>', $file)
1167 2 2 if ($self->{'inmem'}) { }
1180 1 1 if ($self->{'encoded'}) { }
1209 3 1 if ($do_close)
1211 0 3 unless (close $fh)
1249 0 6 if (&blessed($args[0]) and $args[0]->isa('RPC::XML::struct')) { }
3 3 elsif (@args == 2 and $args[0] =~ /^-?\d+$/ and CORE::length $args[1]) { }
1265 1 5 unless ($args{'faultCode'} and $args{'faultString'})
1271 1 4 if (scalar keys %args > 2)
1365 1 7 unless (@argz)
1375 1 6 unless ($name =~ m[^[\w.:/]+$])
1510 1 7 if (not @argz) { }
1 6 elsif (@argz > 1) { }
1559 2 11 if ($self->{'value'}->isa('RPC::XML::fault')) { }
1581 1 3 if ($self->{'value'}->isa('RPC::XML::fault')) { }
1605 4 1 unless ($self->{'value'}->isa('RPC::XML::fault'))