| line |
true |
false |
branch |
|
238
|
2 |
97 |
unless $doc and ref $doc and ref $doc eq 'HASH' |
|
240
|
2 |
94 |
if $query and !ref($query) || ref $query ne 'HASH' |
|
242
|
0 |
19 |
if $defs and !ref($defs) || ref $defs ne 'ARRAY' || scalar @$defs % 2 != 0 |
|
247
|
19 |
76 |
if ($defs) |
|
257
|
10 |
103 |
if ($key eq '$or' and ref $value eq 'ARRAY') { } |
|
260
|
0 |
17 |
unless ref $_ eq 'HASH' |
|
264
|
11 |
7 |
unless (&_attribute_matches($doc, $k, $v)) |
|
270
|
6 |
11 |
if ($ok) |
|
275
|
4 |
6 |
unless $found |
|
277
|
25 |
78 |
unless &_attribute_matches($doc, $key, $value) |
|
303
|
17 |
104 |
if ($key =~ /\./) { } |
|
308
|
13 |
4 |
if defined $v |
|
311
|
98 |
6 |
if exists $$doc{$key} |
|
315
|
26 |
95 |
if (not ref $value) { } |
|
|
0 |
95 |
elsif (blessed $value and blessed $value eq 'MongoDB::OID' || blessed $value eq 'MorboDB::OID') { } |
|
|
2 |
93 |
elsif (ref $value eq 'Regexp') { } |
|
|
92 |
1 |
elsif (ref $value eq 'HASH') { } |
|
|
1 |
0 |
elsif (ref $value eq 'ARRAY') { } |
|
318
|
2 |
24 |
unless defined $virt{$key} |
|
319
|
0 |
24 |
if (ref $virt{$key} eq 'ARRAY') { } |
|
|
24 |
0 |
elsif (not ref $virt{$key}) { } |
|
320
|
0 |
0 |
unless &_array_has_eq($value, $virt{$key}) |
|
322
|
7 |
17 |
unless $virt{$key} eq $value |
|
329
|
0 |
0 |
unless defined $virt{$key} |
|
330
|
0 |
0 |
if (blessed($virt{$key}) and blessed($virt{$key}) eq 'MongoDB::OID' || blessed($virt{$key}) eq 'MorboDB::OID') { } |
|
331
|
0 |
0 |
unless $virt{$key}->value eq $value->value |
|
339
|
0 |
2 |
unless defined $virt{$key} |
|
340
|
0 |
2 |
if (ref $virt{$key} eq 'ARRAY') { } |
|
|
2 |
0 |
elsif (not ref $virt{$key}) { } |
|
341
|
0 |
0 |
unless &_array_has_re($value, $virt{$key}) |
|
343
|
1 |
1 |
unless $virt{$key} =~ /$value/ |
|
350
|
2 |
90 |
if (not &_has_adv_que($value)) { } |
|
355
|
0 |
2 |
unless Compare($value, $virt{$key}) |
|
363
|
14 |
84 |
if ($q eq '$gt') { } |
|
|
8 |
76 |
elsif ($q eq '$gte') { } |
|
|
6 |
70 |
elsif ($q eq '$lt') { } |
|
|
6 |
64 |
elsif ($q eq '$lte') { } |
|
|
1 |
63 |
elsif ($q eq '$eq') { } |
|
|
2 |
61 |
elsif ($q eq '$ne') { } |
|
|
15 |
46 |
elsif ($q eq '$exists') { } |
|
|
4 |
42 |
elsif ($q eq '$mod' and ref $term eq 'ARRAY' and scalar @$term == 2) { } |
|
|
4 |
38 |
elsif ($q eq '$in' and ref $term eq 'ARRAY') { } |
|
|
3 |
35 |
elsif ($q eq '$nin' and ref $term eq 'ARRAY') { } |
|
|
4 |
31 |
elsif ($q eq '$size' and is_int $term) { } |
|
|
3 |
28 |
elsif ($q eq '$all' and ref $term eq 'ARRAY') { } |
|
|
28 |
0 |
elsif ($q eq '$type' and not ref $term) { } |
|
364
|
0 |
14 |
unless defined $virt{$key} and not ref $virt{$key} |
|
365
|
14 |
0 |
if (is_float($virt{$key})) { } |
|
366
|
7 |
7 |
unless $virt{$key} > $term |
|
368
|
0 |
0 |
unless $virt{$key} gt $term |
|
371
|
0 |
8 |
unless defined $virt{$key} and not ref $virt{$key} |
|
372
|
8 |
0 |
if (is_float($virt{$key})) { } |
|
373
|
1 |
7 |
unless $virt{$key} >= $term |
|
375
|
0 |
0 |
unless $virt{$key} ge $term |
|
378
|
0 |
6 |
unless defined $virt{$key} and not ref $virt{$key} |
|
379
|
5 |
1 |
if (is_float($virt{$key})) { } |
|
380
|
1 |
4 |
unless $virt{$key} < $term |
|
382
|
0 |
1 |
unless $virt{$key} lt $term |
|
385
|
0 |
6 |
unless defined $virt{$key} and not ref $virt{$key} |
|
386
|
6 |
0 |
if (is_float($virt{$key})) { } |
|
387
|
1 |
5 |
unless $virt{$key} <= $term |
|
389
|
0 |
0 |
unless $virt{$key} le $term |
|
392
|
0 |
1 |
unless defined $virt{$key} and not ref $virt{$key} |
|
393
|
0 |
1 |
if (is_float($virt{$key})) { } |
|
394
|
0 |
0 |
unless $virt{$key} == $term |
|
396
|
0 |
1 |
unless $virt{$key} eq $term |
|
399
|
0 |
2 |
unless defined $virt{$key} and not ref $virt{$key} |
|
400
|
1 |
1 |
if (is_float($virt{$key})) { } |
|
401
|
0 |
1 |
unless $virt{$key} != $term |
|
403
|
0 |
1 |
unless $virt{$key} ne $term |
|
406
|
10 |
5 |
if ($term) { } |
|
407
|
5 |
5 |
unless exists $virt{$key} |
|
409
|
1 |
4 |
if exists $virt{$key} |
|
412
|
1 |
3 |
unless defined $virt{$key} and is_float($virt{$key}) and $virt{$key} % $$term[0] == $$term[1] |
|
414
|
1 |
3 |
unless defined $virt{$key} and &_value_in($virt{$key}, $term) |
|
416
|
1 |
2 |
unless defined $virt{$key} and not &_value_in($virt{$key}, $term) |
|
418
|
1 |
1 |
unless 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 |
3 |
unless defined $virt{$key} and ref $virt{$key} eq 'ARRAY' |
|
422
|
1 |
5 |
unless &_value_in($_, $virt{$key}) |
|
425
|
3 |
25 |
if ($term eq 'int') { } |
|
|
4 |
21 |
elsif ($term eq 'float') { } |
|
|
2 |
19 |
elsif ($term eq 'real') { } |
|
|
2 |
17 |
elsif ($term eq 'whole') { } |
|
|
2 |
15 |
elsif ($term eq 'string') { } |
|
|
2 |
13 |
elsif ($term eq 'array') { } |
|
|
5 |
8 |
elsif ($term eq 'hash') { } |
|
|
1 |
7 |
elsif ($term eq 'bool') { } |
|
|
3 |
4 |
elsif ($term eq 'date') { } |
|
|
3 |
1 |
elsif ($term eq 'null') { } |
|
|
1 |
0 |
elsif ($term eq 'regex') { } |
|
426
|
1 |
2 |
unless defined $virt{$key} and is_int($virt{$key}) |
|
428
|
0 |
4 |
unless defined $virt{$key} and is_float($virt{$key}) |
|
430
|
0 |
2 |
unless defined $virt{$key} and is_real($virt{$key}) |
|
432
|
1 |
1 |
unless defined $virt{$key} and is_whole($virt{$key}) |
|
434
|
0 |
2 |
unless defined $virt{$key} and is_string($virt{$key}) |
|
436
|
0 |
2 |
unless defined $virt{$key} and ref $virt{$key} eq 'ARRAY' |
|
438
|
1 |
4 |
unless defined $virt{$key} and ref $virt{$key} eq 'HASH' |
|
442
|
0 |
3 |
unless defined $virt{$key} and not ref $virt{$key} |
|
444
|
1 |
2 |
unless blessed $date and blessed $date eq 'DateTime' |
|
446
|
1 |
2 |
unless exists $virt{$key} and not defined $virt{$key} |
|
448
|
0 |
1 |
unless defined $virt{$key} and ref $virt{$key} eq 'Regexp' |
|
454
|
0 |
1 |
unless Compare($value, $virt{$key}) |
|
474
|
0 |
0 |
if $_ eq $value |
|
494
|
0 |
0 |
if /$re/ |
|
513
|
90 |
592 |
if exists $$hash{$_} |
|
533
|
0 |
46 |
if is_float $_ and not is_float $value |
|
534
|
0 |
46 |
if not is_float $_ and is_float $value |
|
535
|
0 |
46 |
if is_float $_ and $value == $_ |
|
536
|
9 |
37 |
if not is_float $_ and $value eq $_ |
|
559
|
2 |
17 |
unless defined $doc and ref $doc and ref $doc eq 'HASH' |
|
561
|
1 |
15 |
unless defined $obj and ref $obj and ref $obj eq 'HASH' |
|
567
|
14 |
1 |
if (&_has_adv_upd($obj)) { } |
|
569
|
2 |
16 |
if ($op eq '$inc') { } |
|
|
2 |
14 |
elsif ($op eq '$set') { } |
|
|
2 |
12 |
elsif ($op eq '$unset') { } |
|
|
1 |
11 |
elsif ($op eq '$rename') { } |
|
|
1 |
10 |
elsif ($op eq '$push') { } |
|
|
1 |
9 |
elsif ($op eq '$pushAll') { } |
|
|
2 |
7 |
elsif ($op eq '$addToSet') { } |
|
|
2 |
5 |
elsif ($op eq '$pop') { } |
|
|
1 |
4 |
elsif ($op eq '$shift') { } |
|
|
1 |
3 |
elsif ($op eq '$splice') { } |
|
|
2 |
1 |
elsif ($op eq '$pull') { } |
|
|
1 |
0 |
elsif ($op eq '$pullAll') { } |
|
571
|
0 |
2 |
unless ref $$obj{$op} eq 'HASH' |
|
578
|
0 |
2 |
unless ref $$obj{$op} eq 'HASH' |
|
584
|
0 |
2 |
unless ref $$obj{$op} eq 'HASH' |
|
586
|
2 |
0 |
if $$obj{$op}{$field} |
|
590
|
0 |
1 |
unless ref $$obj{$op} eq 'HASH' |
|
592
|
1 |
0 |
if exists $$doc{$field} |
|
597
|
0 |
1 |
unless ref $$obj{$op} eq 'HASH' |
|
599
|
0 |
1 |
if defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY' |
|
606
|
0 |
1 |
unless ref $$obj{$op} eq 'HASH' |
|
608
|
0 |
1 |
if defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY' |
|
615
|
0 |
2 |
unless ref $$obj{$op} eq 'HASH' |
|
617
|
0 |
2 |
if defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY' |
|
620
|
1 |
1 |
ref $$obj{$op}{$field} && ref $$obj{$op}{$field} eq 'ARRAY' ? : |
|
622
|
2 |
2 |
unless defined &_index_of($val, $$doc{$field}) |
|
628
|
0 |
2 |
unless ref $$obj{$op} eq 'HASH' |
|
630
|
0 |
2 |
if defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY' |
|
633
|
2 |
0 |
if $$obj{$op}{$field} |
|
638
|
0 |
1 |
unless ref $$obj{$op} eq 'HASH' |
|
640
|
0 |
1 |
if defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY' |
|
643
|
1 |
0 |
if $$obj{$op}{$field} |
|
648
|
0 |
1 |
unless ref $$obj{$op} eq 'HASH' |
|
650
|
0 |
1 |
if defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY' |
|
654
|
0 |
1 |
unless ref $$obj{$op}{$field} and ref $$obj{$op}{$field} eq 'ARRAY' and scalar @{$$obj{$op}{$field};} == 2 |
|
660
|
0 |
2 |
unless ref $$obj{$op} eq 'HASH' |
|
662
|
0 |
2 |
if defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY' |
|
673
|
0 |
1 |
unless ref $$obj{$op} eq 'HASH' |
|
675
|
0 |
1 |
if defined $$doc{$field} and ref $$doc{$field} ne 'ARRAY' |
|
709
|
14 |
84 |
if exists $$hash{$_} |
|
730
|
0 |
22 |
if (is_float($$array[$i]) and is_float $value) { } |
|
731
|
0 |
0 |
if $$array[$i] == $value |
|
733
|
6 |
16 |
if $$array[$i] eq $value |
|
757
|
0 |
23 |
unless exists $BUILTINS{$func} |
|
760
|
4 |
19 |
unless ref $$def{$func} |
|
766
|
49 |
4 |
if defined $v |
|
770
|
2 |
21 |
unless scalar @vals |
|
790
|
42 |
28 |
unless $key =~ /\./ |
|
802
|
35 |
15 |
if ($have and ref $have eq 'HASH' and exists $$have{$key}) { } |
|
|
10 |
5 |
elsif ($have and ref $have eq 'ARRAY' and $key =~ /^\d+$/ and scalar @$have > $key) { } |