Branch Coverage

blib/lib/Tangence/Type.pm
Criterion Covered Total %
branch 139 166 83.7


line true false branch
49 796 219 if (@_ == 1) { }
140 79 elsif ($_[0] eq 'list') { }
79 0 elsif ($_[0] eq 'dict') { }
52 0 796 unless $class->can("make")
100 1 128 unless ref $value eq "ARRAY"
111 1 128 unless $type == 2
132 1 70 unless ref $value eq "HASH"
135 19 51 if $Tangence::Message::SORT_HASH_KEYS
146 1 70 unless $type == 3
168 29 72 $value ? :
175 2 100 unless $type == 0
176 71 29 if $num == 0
177 29 0 if $num == 1
204 5 662 if ($n < 0)
205 3 2 if $n >= -128
206 0 2 if $n >= -32768
207 2 0 if $n >= '-2147483648'
211 645 17 if $n <= 255
212 14 3 if $n <= 65535
213 3 0 if $n <= 4294967295
219 1 722 unless defined $value
220 2 720 if ref $value
221 2 718 unless $value == $value
222 2 716 if $value == "+Inf" or $value == "-Inf"
234 5 719 unless $type == 0
235 0 719 unless exists $format{$num}
237 51 668 if (my $subtype = $self->SUBTYPE)
238 0 51 unless $subtype == $num
318 0 7 if $exp64 == 0
324 2 5 if $exp64 == 1024
329 2 3 if abs $exp64 < 15 and ($float64BIN & "\0\0\3\377\377\377\377\377") eq "\0\0\0\0\0\0\0\0"
332 1 2 if abs $exp64 < 127 and ($float64BIN & "\0\0\0\0\37\377\377\377") eq "\0\0\0\0\0\0\0\0"
340 0 15 unless defined $value
341 0 15 if ref $value
345 4 11 if $subtype == 16
349 9 2 $value == $value ? :
357 0 15 unless $type == 0
358 0 15 unless exists $format{$num} or $num == 16
361 8 7 if (my $subtype = $self->SUBTYPE)
362 0 8 unless $subtype == $num
365 4 11 if $num == 16
386 0 10 unless defined $value
387 0 10 if ref $value
399 4 6 if ($exp == 128) { }
1 5 elsif ($exp > 15) { }
3 2 elsif ($exp > -15) { }
402 2 2 $mant32 ? :
403 2 2 if $mant16
431 0 10 unless $type == 0
432 0 10 unless $num == 16
444 5 5 if ($exp == 16) { }
3 2 elsif ($exp > -15) { }
447 2 3 $mant16 ? :
490 1 531 unless defined $value
491 4 527 if ref $value
501 5 525 unless $type == 1
519 38 23 if (not defined $value) { }
21 2 elsif (&blessed($value) and $value->isa('Tangence::Object')) { }
2 0 elsif (&blessed($value) and $value->isa('Tangence::ObjectProxy')) { }
526 0 21 if $value->{'destroyed'}
528 20 1 unless $stream->peer_hasobj->{$id}
548 0 61 unless $type == 4
549 38 23 unless $num
550 23 0 if ($num == 4) { }
585 38 170 if (not defined $value) { }
20 150 elsif (not ref $value) { }
0 150 elsif (&blessed($value) and $value->isa('Tangence::Object') || $value->isa('Tangence::ObjectProxy')) { }
140 10 elsif (my $struct = eval { do { 'Tangence::Struct'->for_perlname(ref $value) } }) { }
5 5 elsif (ref $value eq 'ARRAY') { }
5 0 elsif (ref $value eq 'HASH') { }
597 19 1 if $tmp =~ /^[[:ascii:]]+$/u
600 1 19 if (do { $value == $value if int $value eq $value }) { }
2 17 elsif ($message->stream->_ver_can_num_float and $is_numeric) { }
604 2 18 if int $value eq $value
638 0 3 if ($num >= 0 and $num <= 1) { }
1 2 elsif ($num >= 2 and $num <= 9) { }
2 0 elsif ($num >= 16 and $num <= 18) { }
666 3 205 if ($(Syntax::Keyword::Match/topic) == 0) { }
17 188 elsif ($(Syntax::Keyword::Match/topic) == 1) { }
38 150 elsif ($(Syntax::Keyword::Match/topic) == 4) { }
5 145 elsif ($(Syntax::Keyword::Match/topic) == 2) { }
5 140 elsif ($(Syntax::Keyword::Match/topic) == 3) { }
140 0 elsif ($(Syntax::Keyword::Match/topic) == 5) { }