Condition Coverage

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


and 3 conditions

line !l l&&!r l&&r condition
122 1 6 4 $response and ref $response eq 'HASH'
171 4 1 1 3 == keys %{$e;} and not exists $e->{'data'}

or 3 conditions

line l !l&&r !l&&!r condition
125 1 1 5 not $response or ref $response ne 'ARRAY'
147 6 5 59 not defined $response->{'jsonrpc'} or $response->{'jsonrpc'} ne '2.0'
150 4 4 51 not exists $response->{'id'} or ref $response->{'id'}
8 1 50 not exists $response->{'id'} or ref $response->{'id'} or not defined $response->{'id'}
164 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
167 2 4 6 not defined $e->{'message'} or ref $e->{'message'}
171 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
156 1 18 26 1 exists $response->{'result'} xor exists $response->{'error'}