Condition Coverage

blib/lib/MQUL.pm
Criterion Covered Total %
condition 122 221 55.2


and 3 conditions

line !l l&&!r l&&r condition
238 1 1 98 $doc and ref $doc
2 1 97 $doc and ref $doc and ref $doc eq 'HASH'
240 1 96 0 $query and !ref($query) || ref $query ne 'HASH'
242 76 19 0 $defs and !ref($defs) || ref $defs ne 'ARRAY' || scalar @$defs % 2 != 0
257 103 0 10 $key eq '$or' and ref $value eq 'ARRAY'
315 93 2 0 blessed $value and blessed $value eq 'MongoDB::OID' || blessed $value eq 'MorboDB::OID'
330 0 0 0 blessed($virt{$key}) and blessed($virt{$key}) eq 'MongoDB::OID' || blessed($virt{$key}) eq 'MorboDB::OID'
363 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
364 0 0 14 defined $virt{$key} and not ref $virt{$key}
371 0 0 8 defined $virt{$key} and not ref $virt{$key}
378 0 0 6 defined $virt{$key} and not ref $virt{$key}
385 0 0 6 defined $virt{$key} and not ref $virt{$key}
392 0 0 1 defined $virt{$key} and not ref $virt{$key}
399 0 0 2 defined $virt{$key} and not ref $virt{$key}
412 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]
414 0 1 3 defined $virt{$key} and &_value_in($virt{$key}, $term)
416 0 1 2 defined $virt{$key} and not &_value_in($virt{$key}, $term)
418 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
420 0 0 3 defined $virt{$key} and ref $virt{$key} eq 'ARRAY'
426 0 1 2 defined $virt{$key} and is_int($virt{$key})
428 0 0 4 defined $virt{$key} and is_float($virt{$key})
430 0 0 2 defined $virt{$key} and is_real($virt{$key})
432 0 1 1 defined $virt{$key} and is_whole($virt{$key})
434 0 0 2 defined $virt{$key} and is_string($virt{$key})
436 0 0 2 defined $virt{$key} and ref $virt{$key} eq 'ARRAY'
438 0 1 4 defined $virt{$key} and ref $virt{$key} eq 'HASH'
442 0 0 3 defined $virt{$key} and not ref $virt{$key}
444 1 0 2 blessed $date and blessed $date eq 'DateTime'
446 0 1 2 exists $virt{$key} and not defined $virt{$key}
448 0 0 1 defined $virt{$key} and ref $virt{$key} eq 'Regexp'
533 26 20 0 is_float $_ and not is_float $value
534 20 26 0 not is_float $_ and is_float $value
535 26 20 0 is_float $_ and $value == $_
536 20 17 9 not is_float $_ and $value eq $_
559 1 1 18 defined $doc and ref $doc
2 1 17 defined $doc and ref $doc and ref $doc eq 'HASH'
561 1 0 16 defined $obj and ref $obj
1 1 15 defined $obj and ref $obj and ref $obj eq 'HASH'
599 0 1 0 defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY'
608 0 1 0 defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY'
617 0 2 0 defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY'
620 1 0 1 ref $$obj{$op}{$field} && ref $$obj{$op}{$field} eq 'ARRAY'
630 0 2 0 defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY'
640 0 1 0 defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY'
650 0 1 0 defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY'
654 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
662 0 2 0 defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY'
675 0 1 0 defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY'
730 22 0 0 is_float($$array[$i]) and is_float $value
802 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 94 1 $query ||= {}
573 2 0 $$doc{$field} ||= 0
601 1 0 $$doc{$field} ||= []
610 1 0 $$doc{$field} ||= []
619 2 0 $$doc{$field} ||= []
632 2 0 $$doc{$field} ||= []
642 1 0 $$doc{$field} ||= []
655 1 0 $$doc{$field} ||= []
664 2 0 $$doc{$field} ||= []
677 1 0 $$doc{$field} ||= []

or 3 conditions

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