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'}