Branch Coverage

blib/lib/Data/MessagePack/PP.pm
Criterion Covered Total %
branch 183 236 77.5


line true false branch
20 0 25 unless (eval { do { "\1\0\0\0\0\0\0\0" } })
28 0 0 if ($high < 4026531840) { }
56 0 25 if ($] < 5.01) { }
59 0 0 if ($bo_is_me)
72 0 0 $v ? :
77 0 0 $v ? :
81 0 0 if ($bo_is_le) { }
125 0 25 if ($bo_is_me)
175 0 277 if @_ < 2
176 3 274 defined $max_depth ? :
178 233 44 unless (ref $self)
193 4 5732 if ($_max_depth < 0)
197 798 4934 unless defined $value
199 1156 3778 if (ref $value eq 'ARRAY') { }
754 3024 elsif (ref $value eq 'HASH') { }
62 2962 elsif (ref $value eq 'Data::MessagePack::Boolean') { }
201 0 0 $num < 4294967295 ? :
6 0 $num < 65535 ? :
1150 6 $num < 16 ? :
212 0 0 $num < 4294967295 ? :
0 0 $num < 65535 ? :
754 0 $num < 16 ? :
219 11 743 if ($self->{'canonical'}) { }
227 25 37 ${$value;} ? :
234 1669 1293 if ($flags & 16384) { }
27 1266 elsif ($flags & 8192) { }
1266 0 elsif ($flags & 4096) { }
236 35 1634 if ($self->{'prefer_integer'})
237 23 12 if ($value =~ /^-?[0-9]+$/)
240 17 4 unless ($ivalue > 4294967295 or $ivalue < "-2147483648" or $ivalue != B::svref_2object(\$ivalue)->int_value)
252 4 1648 if utf8::is_utf8($value)
256 26 1626 if ($self->{'utf8'}) { }
257 0 0 $num < 4294967295 ? :
1 0 $num < 65535 ? :
2 1 $num < 255 ? :
23 3 $num < 32 ? :
264 2 0 $num < 4294967295 ? :
2 2 $num < 65535 ? :
1622 4 $num < 255 ? :
278 1197 69 if ($value >= 0) { }
279 15 0 $value < 4294967296 ? :
12 15 $value < 65536 ? :
9 27 $value < 256 ? :
1161 36 $value <= 127 ? :
286 10 0 -$value <= 2147483648 ? :
8 10 -$value <= 32768 ? :
8 18 -$value <= 128 ? :
43 26 -$value <= 32 ? :
314 44 351 if ($p < length $_[1])
365 1793 1358 if (defined $x8 and $byte == $x8) { }
57 1301 elsif ($byte == $x16) { }
36 1265 elsif ($byte == $x32) { }
367 0 1793 unless $p <= length ${$value_ref;}
372 0 57 unless $p <= length ${$value_ref;}
377 0 36 unless $p <= length ${$value_ref;}
387 0 5438 unless $p < length $value
393 1907 3531 if $typemap[$byte] & $T_DIRECT
395 55 3476 if ($typemap[$byte] & $T_STR) { }
398 3078 elsif ($typemap[$byte] & $T_ARRAY) { }
897 2181 elsif ($typemap[$byte] & $T_MAP) { }
1801 380 elsif ($typemap[$byte] & $T_BIN) { }
35 345 elsif ($byte == 204) { }
36 309 elsif ($byte == 205) { }
46 263 elsif ($byte == 206) { }
8 255 elsif ($byte == 207) { }
21 234 elsif ($byte == 211) { }
38 196 elsif ($byte == 210) { }
34 162 elsif ($byte == 209) { }
46 116 elsif ($byte == 208) { }
112 4 elsif ($byte == 203) { }
4 0 elsif ($byte == 202) { }
398 0 55 unless length $s == $size
423 0 1801 unless length $s == $size
425 4 1797 if $_utf8
430 0 35 unless $p <= length $value
435 0 36 unless $p <= length $value
440 0 46 unless $p <= length $value
445 0 8 unless $p <= length $value
450 0 21 unless $p <= length $value
455 0 38 unless $p <= length $value
460 0 34 unless $p <= length $value
465 0 46 unless $p <= length $value
470 0 112 unless $p <= length $value
475 0 4 unless $p <= length $value
501 1 1 @_ ? :
517 0 1706 $limit ? :
529 0 20059 unless _count($self, $self->{'buff'})
535 1281 18778 if (@{$self->{'stack'};} == 0)
551 0 20059 unless defined $byte
554 9497 10562 if $typemap[$byte] & $T_DIRECT
556 35 10527 if ($typemap[$byte] & $T_STR) { }
2427 8100 elsif ($typemap[$byte] & $T_ARRAY) { }
1234 6866 elsif ($typemap[$byte] & $T_MAP) { }
3627 3239 elsif ($typemap[$byte] & $T_BIN) { }
1148 2091 elsif ($byte >= 204 and $byte <= 207) { }
1035 1056 elsif ($byte >= 208 and $byte <= 211) { }
1056 0 elsif ($byte == 202 or $byte == 203) { }
558 1 34 if ($byte == 217) { }
6 28 elsif ($byte == 218) { }
6 22 elsif ($byte == 219) { }
578 454 1973 if ($byte == 220) { }
5 1968 elsif ($byte == 221) { }
590 2041 386 if ($num)
598 6 1228 if ($byte == 222) { }
6 1222 elsif ($byte == 223) { }
610 928 306 if ($num)
618 2593 1034 if ($byte == 196) { }
1028 6 elsif ($byte == 197) { }
6 0 elsif ($byte == 198) { }
635 5 0 $byte == 207 ? :
379 5 $byte == 206 ? :
378 384 $byte == 205 ? :
386 762 $byte == 204 ? :
644 12 0 $byte == 211 ? :
333 12 $byte == 210 ? :
337 345 $byte == 209 ? :
353 682 $byte == 208 ? :
652 2 1054 $byte == 202 ? :