Condition Coverage

blib/lib/App/yajg.pm
Criterion Covered Total %
condition 64 82 78.0


and 3 conditions

line !l l&&!r l&&r condition
27 51 34 29 ref $_[0] eq 'HASH' and %{$_[0];}
93 21 24 ref $_[0] eq 'ARRAY' and @{$_[0];}
131 21 8 2 @_ and not defined $selected
138 8 0 0 @_ and not defined $selected
147 10 2 0 @_ and not defined $selected
163 22 1 0 @_ and not defined $selected
172 16 4 8 @_ and not defined $selected
181 21 0 0 @_ and not defined $selected
217 64 37 36 defined $key_pat and not defined $val_pat
101 22 14 defined $key_pat and not defined $val_pat and /$key_pat/u
52 16 55 not ref $data->{$_} and defined $data->{$_}
68 55 0 not ref $data->{$_} and defined $data->{$_} and !defined($key_pat) || /$key_pat/u
20 35 0 not ref $data->{$_} and defined $data->{$_} and !defined($key_pat) || /$key_pat/u and !defined($val_pat) || ($data->{$_} =~ /$val_pat/u xor $i)
83 0 23 $i and defined $val_pat
83 23 0 $i and defined $val_pat and !defined($data->{$_}) || ref $data->{$_} && !&size($data->{$_})
247 13 60 0 defined $val_pat and defined $_ && !ref($_) && (/$val_pat/u xor $i) || $i && (!defined($_) || ref $_ && !&size($_))

or 2 conditions

line l !l condition
20 4 0 shift() // ''
51 150 0 shift() // (return)
52 9 141 shift() // {}
199 78 34 $r //= 0
209 78 22 $visited //= {}

or 3 conditions

line l !l&&r !l&&!r condition
84 3 2 109 $err or not @$list
194 64 48 9 defined $key_pat or defined $val_pat
217 27 8 20 !defined($key_pat) || /$key_pat/u
0 17 18 !defined($val_pat) || ($data->{$_} =~ /$val_pat/u xor $i)
14 0 123 defined $key_pat and not defined $val_pat and /$key_pat/u or not ref $data->{$_} and defined $data->{$_} and !defined($key_pat) || /$key_pat/u and !defined($val_pat) || ($data->{$_} =~ /$val_pat/u xor $i)
4 0 19 !defined($data->{$_}) || ref $data->{$_} && !&size($data->{$_})
17 0 106 defined $key_pat and not defined $val_pat and /$key_pat/u or not ref $data->{$_} and defined $data->{$_} and !defined($key_pat) || /$key_pat/u and !defined($val_pat) || ($data->{$_} =~ /$val_pat/u xor $i) or $i and defined $val_pat and !defined($data->{$_}) || ref $data->{$_} && !&size($data->{$_})
247 25 0 35 defined $_ && !ref($_) && (/$val_pat/u xor $i) || $i && (!defined($_) || ref $_ && !&size($_))