Condition Coverage

blib/lib/MQUL.pm
Criterion Covered Total %
condition 124 224 55.3


and 3 conditions

line !l l&&!r l&&r condition
238 1 1 107 $doc and ref $doc
2 1 106 $doc and ref $doc and ref $doc eq 'HASH'
240 1 105 0 $query and !ref($query) || ref $query ne 'HASH'
242 85 19 0 $defs and !ref($defs) || ref $defs ne 'ARRAY' || scalar @$defs % 2 != 0
257 107 0 13 $key eq '$or' and ref $value eq 'ARRAY'
104 0 3 $key eq '$and' and ref $value eq 'ARRAY'
319 92 2 0 blessed $value and blessed $value eq 'MongoDB::OID' || blessed $value eq 'MorboDB::OID'
334 0 0 0 blessed($virt{$key}) and blessed($virt{$key}) eq 'MongoDB::OID' || blessed($virt{$key}) eq 'MorboDB::OID'
367 42 0 4 $q eq '$mod' and ref $term eq 'ARRAY'
42 0 4 $q eq '$mod' and ref $term eq 'ARRAY' and scalar @$term == 2
38 0 4 $q eq '$in' and ref $term eq 'ARRAY'
35 0 3 $q eq '$nin' and ref $term eq 'ARRAY'
31 0 4 $q eq '$size' and is_int $term
28 0 3 $q eq '$all' and ref $term eq 'ARRAY'
0 0 28 $q eq '$type' and not ref $term
368 0 0 14 defined $virt{$key} and not ref $virt{$key}
375 0 0 7 defined $virt{$key} and not ref $virt{$key}
382 0 0 7 defined $virt{$key} and not ref $virt{$key}
389 0 0 5 defined $virt{$key} and not ref $virt{$key}
396 0 0 1 defined $virt{$key} and not ref $virt{$key}
403 0 0 2 defined $virt{$key} and not ref $virt{$key}
416 0 0 4 defined $virt{$key} and is_float($virt{$key})
0 1 3 defined $virt{$key} and is_float($virt{$key}) and $virt{$key} % $$term[0] == $$term[1]
418 0 1 3 defined $virt{$key} and &_value_in($virt{$key}, $term)
420 0 1 2 defined $virt{$key} and not &_value_in($virt{$key}, $term)
422 0 4 0 defined $virt{$key} and ref $virt{$key} eq 'ARRAY' && scalar @{$virt{$key};} == $term || ref $virt{$key} eq 'HASH' && scalar keys %{$virt{$key};} == $term
424 0 0 3 defined $virt{$key} and ref $virt{$key} eq 'ARRAY'
430 0 1 2 defined $virt{$key} and is_int($virt{$key})
432 0 0 4 defined $virt{$key} and is_float($virt{$key})
434 0 0 2 defined $virt{$key} and is_real($virt{$key})
436 0 1 1 defined $virt{$key} and is_whole($virt{$key})
438 0 0 2 defined $virt{$key} and is_string($virt{$key})
440 0 0 2 defined $virt{$key} and ref $virt{$key} eq 'ARRAY'
442 0 1 4 defined $virt{$key} and ref $virt{$key} eq 'HASH'
446 0 0 3 defined $virt{$key} and not ref $virt{$key}
448 1 0 2 blessed $date and blessed $date eq 'DateTime'
450 0 1 2 exists $virt{$key} and not defined $virt{$key}
452 0 0 1 defined $virt{$key} and ref $virt{$key} eq 'Regexp'
537 26 20 0 is_float $_ and not is_float $value
538 20 26 0 not is_float $_ and is_float $value
539 26 20 0 is_float $_ and $value == $_
540 20 17 9 not is_float $_ and $value eq $_
563 1 1 18 defined $doc and ref $doc
2 1 17 defined $doc and ref $doc and ref $doc eq 'HASH'
565 1 0 16 defined $obj and ref $obj
1 1 15 defined $obj and ref $obj and ref $obj eq 'HASH'
603 0 1 0 defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY'
612 0 1 0 defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY'
621 0 2 0 defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY'
624 1 0 1 ref $$obj{$op}{$field} && ref $$obj{$op}{$field} eq 'ARRAY'
634 0 2 0 defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY'
644 0 1 0 defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY'
654 0 1 0 defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY'
658 0 0 1 ref $$obj{$op}{$field} and ref $$obj{$op}{$field} eq 'ARRAY'
0 0 1 ref $$obj{$op}{$field} and ref $$obj{$op}{$field} eq 'ARRAY' and scalar @{$$obj{$op}{$field};} == 2
666 0 2 0 defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY'
679 0 1 0 defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY'
734 23 0 0 is_float($$array[$i]) and is_float $value
806 1 12 37 $have and ref $have eq 'HASH'
13 2 35 $have and ref $have eq 'HASH' and exists $$have{$key}
1 4 10 $have and ref $have eq 'ARRAY'
5 0 10 $have and ref $have eq 'ARRAY' and $key =~ /^\d+$/
4 0 10 $have and ref $have eq 'ARRAY' and $key =~ /^\d+$/ and scalar @$have > $key

or 2 conditions

line l !l condition
245 103 1 $query ||= {}
577 2 0 $$doc{$field} ||= 0
605 1 0 $$doc{$field} ||= []
614 1 0 $$doc{$field} ||= []
623 2 0 $$doc{$field} ||= []
636 2 0 $$doc{$field} ||= []
646 1 0 $$doc{$field} ||= []
659 1 0 $$doc{$field} ||= []
668 2 0 $$doc{$field} ||= []
681 1 0 $$doc{$field} ||= []

or 3 conditions

line l !l&&r !l&&!r condition
240 1 1 103 !ref($query) || ref $query ne 'HASH'
242 0 0 19 !ref($defs) || ref $defs ne 'ARRAY' || scalar @$defs % 2 != 0
319 0 0 2 blessed $value eq 'MongoDB::OID' || blessed $value eq 'MorboDB::OID'
334 0 0 0 blessed($virt{$key}) eq 'MongoDB::OID' || blessed($virt{$key}) eq 'MorboDB::OID'
422 2 0 2 ref $virt{$key} eq 'ARRAY' && scalar @{$virt{$key};} == $term || ref $virt{$key} eq 'HASH' && scalar keys %{$virt{$key};} == $term