Branch Coverage

blib/lib/Hessian/Tiny/Client.pm
Criterion Covered Total %
branch 18 42 42.8


line true false branch
100 0 2 unless (defined $u and $u->scheme and $u->scheme =~ /^http/)
160 0 183 unless defined $call_fh
163 0 183 unless eval { do { my $wtr = Hessian::Tiny::Type::_make_writer($call_fh); if ($$self{'version'} and $$self{'version'} == 2) { Hessian::Tiny::ConvertorV2::write_call($wtr, $method_name, @hessian_params); } else { Hessian::Tiny::ConvertorV1::write_call($wtr, $method_name, @hessian_params); } ; 1 } }
165 0 183 if ($$self{'version'} and $$self{'version'} == 2) { }
182 0 0 if ('ARRAY' eq ref $$self{'auth'} and length $$self{'auth'}[0] > 0 and length $$self{'auth'}[1] > 0)
197 0 183 unless defined $reply_fh
204 0 183 unless ($http_response->is_success)
214 0 183 unless eval { do { ($st, $re) = _read_reply(Hessian::Tiny::Type::_make_reader($reply_fh), $$self{'hessian_flag'}); 1 } }
218 1 182 if $st and 'Hessian::Type::Fault' eq ref $re
219 2 181 if $st == 2
223 0 3 if $$self{'debug'}
228 183 0 if ($buf =~ /^(f|r\x01\x00)/) { }
0 0 elsif ($buf =~ /^H\x02\x00/) { }
230 2 181 unless eval { do { if ($buf =~ /^f/) { &$reader(-3); $obj = &$or($reader, 0); bless $obj, 'Hessian::Type::Fault'; } else { do { $obj = &$or($reader) } while 'Hessian::Type::Header' eq ref $obj; } ; 1 } }
231 0 183 if ($buf =~ /^f/) { }
241 1 180 'Hessian::Type::Fault' eq ref $obj ? :
245 0 0 unless eval { do { if ($m eq 'R') { $obj = &$or($reader); } elsif ($m eq 'F') { $obj = &$or($reader, 0); bless $obj, 'Hessian::Type::Fault'; } else { die "response is neither H2 Reply nor H2 Fault: $m" unless $m =~ /^[RF]/; } ; 1 } }
246 0 0 if ($m eq 'R') { }
0 0 elsif ($m eq 'F') { }
252 0 0 unless $m =~ /^[RF]/
256 0 0 'Hessian::Type::Fault' eq ref $obj ? :