Condition Coverage

blib/lib/JSON/RPC2/Client.pm
Criterion Covered Total %
condition 34 37 91.8


and 3 conditions

line !l l&&!r l&&r condition
129 0 5 4 $response and ref $response eq "HASH"
154 1 64 7 not $self->{'lax_response_version'} and !defined($response->{'jsonrpc'}) || $response->{'jsonrpc'} ne '2.0'
178 4 1 1 3 == keys %{$e;} and not exists $e->{'data'}

or 3 conditions

line l !l&&r !l&&!r condition
132 0 0 5 not $response or ref $response ne "ARRAY"
154 7 5 59 !defined($response->{'jsonrpc'}) || $response->{'jsonrpc'} ne '2.0'
157 5 4 51 not exists $response->{'id'} or ref $response->{'id'}
9 1 50 not exists $response->{'id'} or ref $response->{'id'} or not defined $response->{'id'}
171 3 4 13 not defined $e->{'code'} or ref $e->{'code'}
7 1 12 not defined $e->{'code'} or ref $e->{'code'} or not $e->{'code'} =~ /\A-?\d+\z/msx
174 2 4 6 not defined $e->{'message'} or ref $e->{'message'}
178 1 1 4 3 == keys %{$e;} and not exists $e->{'data'} or 3 < keys %{$e;}

xor 4 conditions

line l&&r l&&!r !l&&r !l&&!r condition
163 1 18 26 1 exists $response->{'result'} xor exists $response->{'error'}