Branch Coverage

blib/lib/BSON/Decimal128.pm
Criterion Covered Total %
branch 79 82 96.3


line true false branch
70 1 3171 unless 1 == grep({exists $self->{$_};} 'value', 'bytes')
73 1965 1206 if (exists $self->{'value'})
90 29 2410 if ($special eq '11111')
93 66 2344 if ($special eq '11110')
94 33 33 $pos ? :
97 3 2341 if (substr($binary, 1, 2) eq '11') { }
110 3 2341 if (length $coef > 34)
115 101 2243 if ($coef == 0 and $e == 0)
116 75 26 $pos ? :
124 1244 999 if ($e > 0 or $adj_exp < -6) { }
126 696 548 if (length $coef > 1)
131 1094 150 $pos ? :
855 389 $adj_exp >= 0 ? :
137 266 39 $pos ? :
305 694 if $e == 0
141 348 346 if (length $coef < abs $e)
146 357 100 $pos ? :
457 237 if length $coef == abs $e
151 192 45 $pos ? :
168 19 1946 if $s =~ /\A -? NaN \z/xi
169 25 1921 if $s =~ /\A \+?Inf(?:inity)? \z/xi
170 25 1896 if $s =~ /\A -Inf(?:inity)? \z/xi
174 119 1777 unless defined $sign
175 793 1103 unless defined $exp and length $exp
179 119 1777 unless length $exp and defined $mant
182 268 1509 defined $sign && $sign eq '-' ? :
190 989 788 if $dot >= 0
194 482 1295 unless length $mant
197 17 1760 if (length $mant > 34) { }
11 1749 elsif ($exp < -6176) { }
200 13 4 if defined $2 and length $2
204 2 9 if defined $2 and length $2
208 482 1295 if ($mant == 0) { }
76 2436 elsif ($exp > 6111 and $exp - 6111 <= 34 - length($mant)) { }
209 12 470 if ($exp > 6111) { }
8 462 elsif ($exp < -6176) { }
224 9 1768 if length $mant > 34
225 3 1765 if $exp > 6111 or $exp < -6176
237 1765 0 if ($coef_len <= 113) { }
0 0 elsif ($coef_len <= 114) { }
263 3 1519 unless $ENV{'BSON_EXTJSON'}