line |
true |
false |
branch |
77
|
5 |
0 |
if ($] ge 5.01) { } |
93
|
48 |
22 |
$started ? : |
94
|
21 |
49 |
unless defined $k |
105
|
0 |
30576 |
if $ENV{'BSON_TEST_SORT_HASH'} |
108
|
30367 |
148773 |
unless defined $k |
117
|
1 |
9 |
if ($neg) { } |
|
0 |
9 |
elsif ($bigint > $max_int64) { } |
118
|
0 |
1 |
if ($bigint < $min_int64) |
130
|
9 |
1 |
if $len < 16 |
132
|
1 |
9 |
if $neg |
138
|
0 |
0 |
if $bytes eq "\000\000\000\000\000\000\000\000" |
139
|
0 |
0 |
if (unpack('c', $bytes) < 0) { } |
140
|
0 |
0 |
if ($bytes eq "\200\000\000\000\000\000\000\000") { } |
158
|
18243 |
10 |
unless ($type) |
164
|
10 |
0 |
if ($type eq 'Math::BigInt') { } |
|
0 |
0 |
elsif ($type eq 'Math::Int64') { } |
179
|
1 |
0 |
unless $reftype eq 'HASH' |
187
|
4 |
30724 |
if $opt->{'_circular'}{$refaddr}++ |
189
|
2491 |
28233 |
unless defined $opt->{'_depth'} |
191
|
2 |
30722 |
if ($opt->{'_depth'} > 100) |
197
|
103 |
30619 |
if ($doc_type eq 'BSON::Raw' or $doc_type eq 'MongoDB::BSON::_EncodedDoc') |
203
|
3 |
30616 |
if ($doc_type eq 'MongoDB::BSON::Raw') |
215
|
1 |
1 |
$doc_type eq 'MongoDB::DBRef' ? : |
|
15 |
2 |
$doc_type eq 'BSON::DBRef' ? : |
|
6 |
17 |
$doc_type eq 'Tie::IxHash' ? : |
|
17 |
23 |
$doc_type eq 'BSON::Doc' ? : |
|
30576 |
40 |
$doc_type eq 'HASH' ? : |
219
|
2 |
30613 |
defined $opt->{'op_char'} ? : |
221
|
2 |
30613 |
length $opt->{'invalid_chars'} ? : |
230
|
1 |
148846 |
if defined $first_key and $key eq $first_key |
232
|
2 |
148844 |
if ($first_key_pending) |
238
|
0 |
148846 |
unless defined $key |
240
|
1 |
148845 |
unless -1 == index($key, "\000") |
243
|
1 |
148844 |
if length $op_char and substr($key, 0, 1) eq $op_char |
246
|
2 |
148843 |
if ($invalid and $key =~ /$invalid/) |
260
|
92955 |
55888 |
if (&blessed($value)) |
261
|
47 |
92908 |
unless ($type =~ /\ABSON::\w+\z/) |
263
|
7 |
40 |
if defined $parent |
268
|
9098 |
139745 |
if (not defined $value) { } |
|
112176 |
27569 |
elsif (length $type) { } |
276
|
9056 |
103120 |
if ($type eq 'ARRAY' or $type eq 'BSON::Array') { } |
|
4 |
103116 |
elsif ($type eq 'BSON::DBPointer') { } |
|
10290 |
92826 |
elsif ($type eq 'HASH' or $type eq 'BSON::Doc' or $type eq 'BSON::Raw' or $type eq 'MongoDB::BSON::_EncodedDoc' or $type eq 'Tie::IxHash' or $type eq 'MongoDB::BSON::Raw' or $type eq 'BSON::DBRef' or $type eq 'MongoDB::DBRef') { } |
|
4 |
92822 |
elsif ($type eq 'Regexp') { } |
|
9223 |
83599 |
elsif ($type eq 'BSON::Regex' or $type eq 'MongoDB::BSON::Regexp') { } |
|
9142 |
74457 |
elsif ($type eq 'BSON::OID' or $type eq 'BSON::ObjectId') { } |
|
0 |
74457 |
elsif ($type eq 'MongoDB::OID') { } |
|
9092 |
65365 |
elsif ($type eq 'BSON::Time') { } |
|
1 |
65364 |
elsif ($type eq 'Time::Moment') { } |
|
0 |
65364 |
elsif ($type eq 'DateTime') { } |
|
0 |
65364 |
elsif ($type eq 'DateTime::Tiny') { } |
|
0 |
65364 |
elsif ($type eq 'Mango::BSON::Time') { } |
|
9086 |
56278 |
elsif ($type eq 'BSON::Timestamp') { } |
|
0 |
56278 |
elsif ($type eq 'MongoDB::Timestamp') { } |
|
9085 |
47193 |
elsif ($type eq 'BSON::MinKey' or $type eq 'MongoDB::MinKey') { } |
|
9144 |
38049 |
elsif ($type eq 'BSON::MaxKey' or $type eq 'MongoDB::MaxKey') { } |
|
9077 |
28972 |
elsif ($type eq 'SCALAR' or $type eq 'BSON::Bytes' or $type eq 'BSON::Binary' or $type eq 'MongoDB::BSON::Binary') { } |
|
9172 |
19800 |
elsif ($type eq 'BSON::Code' or $type eq 'MongoDB::Code') { } |
|
9090 |
10710 |
elsif ($type eq 'boolean' or $type =~ /$bools_re/) { } |
|
9104 |
1606 |
elsif ($type eq 'BSON::String' or $type eq 'BSON::Symbol') { } |
|
2 |
1604 |
elsif ($type eq 'MongoDB::BSON::String') { } |
|
24 |
1580 |
elsif ($type eq 'BSON::Int64' or $type eq 'Math::BigInt' or $type eq 'Math::Int64') { } |
|
35 |
1545 |
elsif ($type eq 'BSON::Int32') { } |
|
32 |
1513 |
elsif ($type eq 'BSON::Double') { } |
|
1512 |
1 |
elsif ($type eq 'BSON::Decimal128') { } |
332
|
0 |
0 |
if ($value->time_zone->name eq 'floating') |
377
|
0 |
4 |
$type eq 'MongoDB::BSON::Binary' ? : |
|
9071 |
4 |
$type eq 'BSON::Bytes' ? : |
|
2 |
9075 |
$type eq 'SCALAR' ? : |
378
|
2 |
9075 |
$type eq 'SCALAR' ? : |
380
|
2 |
9075 |
if ($subtype == 2) { } |
396
|
8887 |
285 |
if (ref $value->scope eq 'HASH') { } |
408
|
4511 |
4579 |
$value ? : |
426
|
0 |
24 |
if ($value > $max_int64 or $value < $min_int64) |
431
|
16 |
8 |
if ($type eq 'BSON::Int64') |
467
|
9188 |
18381 |
if ($flags & 512) { } |
|
18255 |
126 |
elsif ($flags & 256) { } |
|
3 |
123 |
elsif ($opt->{'prefer_numeric'} and &looks_like_number($value)) { } |
473
|
0 |
18255 |
if ($value > $max_int64 or $value < $min_int64) { } |
|
9136 |
9119 |
elsif ($value > $max_int32 or $value < $min_int32) { } |
485
|
2 |
1 |
if ($value =~ /$int_re/) { } |
|
1 |
0 |
elsif ($value =~ /$doub_re/) { } |
486
|
0 |
2 |
if ($value > $max_int64 or $value < $min_int64) { } |
|
0 |
2 |
elsif ($value > $max_int32 or $value < $min_int32) { } |
563
|
0 |
29596 |
unless (defined $bson) |
566
|
2158 |
27438 |
unless defined $opt->{'_depth'} |
568
|
1 |
29595 |
if ($opt->{'_depth'} > 100) |
573
|
15 |
29580 |
if (length $bson != $len) |
576
|
5 |
29575 |
if (chop $bson ne "\000") |
582
|
1485 |
28090 |
if $opt->{'ordered'} |
590
|
8 |
147691 |
unless (defined $min_size) |
593
|
12 |
147679 |
if (length $bson < $min_size) |
598
|
9234 |
138445 |
if ($type == 1) { } |
|
9238 |
129207 |
elsif ($type == 2 or $type == 14) { } |
|
18550 |
110657 |
elsif ($type == 3 or $type == 4) { } |
|
9079 |
101578 |
elsif ($type == 5) { } |
|
2 |
101576 |
elsif ($type == 6) { } |
|
9135 |
92441 |
elsif ($type == 7) { } |
|
9092 |
83349 |
elsif ($type == 8) { } |
|
9096 |
74253 |
elsif ($type == 9) { } |
|
9090 |
65163 |
elsif ($type == 10) { } |
|
9227 |
55936 |
elsif ($type == 11) { } |
|
11 |
55925 |
elsif ($type == 12) { } |
|
285 |
55640 |
elsif ($type == 13) { } |
|
8898 |
46742 |
elsif ($type == 15) { } |
|
9057 |
37685 |
elsif ($type == 16) { } |
|
9085 |
28600 |
elsif ($type == 17) { } |
|
9165 |
19435 |
elsif ($type == 18) { } |
|
1206 |
18229 |
elsif ($type == 19) { } |
|
9085 |
9144 |
elsif ($type == 255) { } |
|
9144 |
0 |
elsif ($type == 127) { } |
600
|
51 |
9183 |
if $opt->{'wrap_numbers'} |
606
|
11 |
9227 |
if (length $bson < $len or substr($bson, $len - 1, 1) ne "\000") |
611
|
3 |
9224 |
unless (utf8::decode($value)) |
614
|
6 |
9218 |
if $opt->{'wrap_strings'} |
621
|
12 |
0 |
if ($opt->{'wrap_dbrefs'} and $type == 3 and exists $value->{'$id'} and exists $value->{'$ref'}) |
632
|
1 |
9078 |
if ($len < 0) |
635
|
1 |
9077 |
if ($len > length $bson) |
641
|
5 |
9072 |
if ($btype == 2) |
642
|
0 |
5 |
if ($len < 4) |
647
|
3 |
2 |
if ($sublen != length($binary) - 4) |
671
|
2 |
9090 |
unless $bool == 0 or $bool == 1 |
687
|
2 |
9094 |
if (defined $dt_type and $dt_type ne 'BSON::Time') |
688
|
0 |
1 |
$dt_type eq 'Mango::BSON::Time' ? : |
|
0 |
1 |
$dt_type eq 'DateTime::Tiny' ? : |
|
0 |
1 |
$dt_type eq 'DateTime' ? : |
|
1 |
1 |
$dt_type eq 'Time::Moment' ? : |
711
|
3 |
8 |
if (length $bson < $len or substr($bson, $len - 1, 1) ne "\000") |
716
|
1 |
7 |
unless (utf8::decode($ref)) |
727
|
0 |
285 |
if (length $bson < $len or substr($bson, $len - 1, 1) ne "\000") |
732
|
0 |
285 |
unless (utf8::decode($value)) |
743
|
1 |
8897 |
if ($len < 0) |
746
|
2 |
8895 |
if ($len > length $bson) |
749
|
1 |
8894 |
if ($len < 5) |
761
|
1 |
8893 |
if (length $codewscope < $strlen or substr($codewscope, -1, 1) ne "\000") |
767
|
0 |
8893 |
unless (utf8::decode($code)) |
771
|
2 |
8891 |
if (length $codewscope < 5) |
777
|
3 |
8888 |
if (length $codewscope < $scopelen or substr($codewscope, $scopelen - 1, 1) ne "\000") |
789
|
38 |
9019 |
if $opt->{'wrap_numbers'} |
807
|
21 |
9144 |
if $opt->{'wrap_numbers'} |
833
|
28031 |
119503 |
if ($opt->{'_decode_array'}) { } |
841
|
9053 |
20357 |
$opt->{'_decode_array'} ? : |