Branch Coverage

blib/lib/Mango/BSON.pm
Criterion Covered Total %
branch 101 106 95.2


line true false branch
79 3 59 unless my $len = bson_length($bson)
80 58 1 length $bson == $len ? :
94 3 110 if exists $doc->{'$bson'}
109 5 68 length $_[0] < 4 ? :
140 1 5 if $subtype eq "\cA"
141 1 4 if $subtype eq "\cE"
142 1 3 if $subtype eq "\cD"
143 1 2 if $subtype eq "\200"
165 75 75 if $type eq "\000"
188 15 60 if $type eq "\cB"
191 2 58 if $type eq "\a"
195 7 51 if $type eq "\cA"
196 8 43 if $type eq "\cP"
197 2 41 if $type eq "\cR"
200 10 31 if $type eq "\cC"
203 6 25 if $type eq "\cD"
206 5 5 substr($$bsonref, 0, 1, '') eq "\000" ? :
10 15 if $type eq "\cH"
208 1 14 if $type eq "\n"
211 2 12 if $type eq "\t"
215 1 11 if ($type eq "\cK")
217 0 1 if length $m and not $m =~ /^[msixpadlun]+\z/
224 6 5 if $type eq "\cE"
227 1 4 if $type eq "\377"
228 1 3 if $type eq "\177"
231 1 2 if $type eq "\r"
232 1 1 if ($type eq "\cO")
239 1 0 if $type eq "\cQ"
244 0 0 if $type eq "\cF"
259 2 46 if $class eq 'Mango::BSON::ObjectID'
263 5 5 $value ? :
10 36 if $class eq $BOOL
266 2 34 if $class eq 'Mango::BSON::Time'
269 1 33 if $value eq $MAXKEY
272 1 32 if $value eq $MINKEY
275 1 31 if ($class eq 'Regexp')
281 6 25 if ($class eq 'Mango::BSON::Binary')
284 1 5 if $type eq 'function'
285 1 4 if $type eq 'md5'
286 1 3 if $type eq 'user_defined'
288 1 2 if $type eq 'uuid'
293 2 23 if ($class eq 'Mango::BSON::Code')
296 1 1 if (my $scope = $value->scope)
306 1 22 if $class eq 'Mango::BSON::Timestamp'
311 17 5 if ($class eq 'Mango::BSON::Number')
317 4 1 if (my $sub = $value->can('TO_BSON') // $value->can('TO_JSON'))
335 1 117 unless defined $value
338 70 47 if (my $ref = ref $value)
341 42 28 if &blessed($value)
344 11 17 if $ref eq 'HASH'
347 11 6 if ($ref eq 'ARRAY')
353 6 0 if $ref eq 'SCALAR'
357 23 24 if (my $type = Mango::BSON::Number::guess_type($value))