Branch Coverage

blib/lib/JSON/RPC2/Client.pm
Criterion Covered Total %
branch 73 74 98.6


line true false branch
28 1 2 if defined $lax_response_version
36 2 9 unless @requests
43 1 10 unless defined $method
44 2 8 !@params ? :
55 1 12 unless defined $method
56 2 10 if @params % 2
58 2 8 !@params ? :
69 2 42 unless defined $method
71 18 24 !@params ? :
79 30 12 wantarray ? :
84 2 26 unless defined $method
85 2 24 if @params % 2
88 5 19 !@params ? :
96 21 3 wantarray ? :
101 12 54 @{$self->{'free_id'};} ? :
116 4 9 unless delete $self->{'call'}{builtin::refaddr($call)}
122 2 16 if @_ != 2
125 1 15 ref $json ? :
126 7 9 if ($@)
129 4 5 if ($response and ref $response eq "HASH")
132 0 5 if (not $response or ref $response ne "ARRAY")
135 1 4 unless (@{$response;})
144 2 80 if @_ != 2
147 13 67 ref $json ? :
148 7 73 if ($@)
151 1 72 if (ref $response ne "HASH")
154 12 59 if (not $self->{'lax_response_version'} and !defined($response->{'jsonrpc'}) || $response->{'jsonrpc'} ne '2.0')
157 5 50 if (not exists $response->{'id'} or ref $response->{'id'} or not defined $response->{'id'})
160 4 46 unless (exists $self->{'id'}{$response->{'id'}})
163 2 44 unless (exists $response->{'result'} xor exists $response->{'error'})
166 26 18 if (exists $response->{'error'})
168 6 20 if (ref $e ne "HASH")
171 5 12 if (not defined $e->{'code'} or ref $e->{'code'} or not $e->{'code'} =~ /\A-?\d+\z/msx)
174 6 6 if (not defined $e->{'message'} or ref $e->{'message'})
178 2 4 if (3 == keys %{$e;} and not exists $e->{'data'} or 3 < keys %{$e;})
186 20 2 if ($call)
189 4 18 unless ($call)