Branch Coverage

blib/lib/Data/BitStream/Base.pm
Criterion Covered Total %
branch 135 210 64.2


line true false branch
80 0 1648 if ($curmode eq 'read') { }
0 1648 elsif ($curmode eq 'readonly') { }
0 1648 elsif ($curmode eq 'write') { }
0 1648 elsif ($curmode eq 'writeonly') { }
0 1648 elsif ($curmode eq 'readwrite') { }
1647 1 elsif ($curmode eq 'rdwr') { }
0 1 elsif ($curmode eq 'append') { }
87 1 1647 unless $curmode =~ /^(?:r|ro|w|wo|rw|a)$/
91 0 1647 if ($curmode =~ /^ro?$/) { }
0 1647 elsif ($curmode =~ /^wo?$/) { }
1647 0 elsif ($curmode eq 'rw') { }
0 0 elsif ($curmode eq 'a') { }
96 1647 0 if ($is_writing) { }
104 0 1647 if $curmode eq 'a'
110 270 1378 if $self->writing
118 28 0 defined $Data::BitStream::Base::Config{'use64bitint'} && $Data::BitStream::Base::Config{'use64bitint'} eq 'define' || defined $Data::BitStream::Base::Config{'use64bitall'} && $Data::BitStream::Base::Config{'use64bitall'} eq 'define' || defined $Data::BitStream::Base::Config{'longsize'} && $Data::BitStream::Base::Config{'longsize'} >= 8 ? :
129 0 28 if ($_host_word_size == 32) { }
143 0 28 if ($_host_word_size == 64 and !1)
147 0 28 $_host_word_size == 32 ? :
158 1 30204 if $self->writing
164 1 77786 if $self->writing
169 10 77776 if $newpos < 0 or $newpos > $len
175 1 0 if $self->writing
187 0 0 if $self->mode eq 'wo'
188 0 0 if $self->writing
190 0 0 if (defined $file)
191 0 0 unless open my $fp, '<', $file
193 0 0 if (defined $headerlines)
220 0 27146 if $self->mode eq 'ro'
221 25427 1719 unless ($self->writing)
229 27075 16 if ($self->writing)
234 0 27075 if (defined $file)
235 0 0 unless open my $fp, '>', $file
237 0 0 if defined $header and length $header > 0
288 0 182 if ($self->writing and @{$self->_code_pos_array;})
292 95 87 if (@{$self->_code_pos_array;})
297 95 87 if (@{$self->_code_str_array;})
298 95 0 if defined $self->_code_str_array->[0]
310 119 0 unless @{$self->_code_pos_array;}
321 1 56 if (defined $skipping and @{$self->_code_pos_array;} == 0)
326 51 5 if $codename ne ''
333 0 10 if $codename ne ''
335 0 10 if $type eq 'write' and $self->mode eq 'ro'
337 0 10 if $type eq 'read' and $self->mode eq 'wo'
340 7 3 if ($self->writing) { }
341 1 6 if ($type eq 'rewind') { }
4 2 elsif ($type eq 'read') { }
1 1 elsif ($type eq 'skip') { }
1 0 elsif ($type eq 'exhausted') { }
346 3 0 if ($type eq 'write')
354 54 62 if ($type eq 'zeroval')
358 0 116 if ($type eq 'range')
360 0 0 if (not defined $text) { }
366 0 0 if defined $min and defined $max
371 44 72 if $codename ne ''
372 77 39 if defined $text
373 17 99 if ($type eq 'param') { }
54 45 elsif ($type eq 'value') { }
0 45 elsif ($type eq 'string') { }
6 39 elsif ($type eq 'base') { }
38 1 elsif ($type eq 'overflow') { }
1 0 elsif ($type eq 'short') { }
0 0 elsif ($type eq 'assert') { }
388 19760 284 if not $self->writing
392 21017 8530 if $self->writing
414 0 6290 unless defined $val and $val >= 0
415 0 6290 if $val > 10000000
436 0 33456 if $self->writing
438 33443 13 if (not defined $count) { }
9 4 elsif ($count < 0) { }
2 2 elsif ($count == 0) { }
457 164 33690 unless defined $word
473 10 33444 wantarray ? :
481 2 9684 unless defined $val and $val >= 0
482 0 9684 if $val > 10000000
483 8887 797 if ($val < maxbits) { }
496 0 8968 if $self->writing
498 8953 15 if (not defined $count) { }
15 0 elsif ($count < 0) { }
0 0 elsif ($count == 0) { }
517 82 9843 unless defined $word
533 14 8945 wantarray ? :
540 0 817 if $bits <= 0 or $bits > maxbits
544 0 3493 unless defined $val and $val >= 0
551 0 842 if $self->writing
553 3 839 if $bits <= 0 or $bits > maxbits
556 815 24 if (not defined $count) { }
24 0 elsif ($count < 0) { }
0 0 elsif ($count == 0) { }
563 24 3513 unless defined $val
566 24 813 wantarray ? :
573 0 5064 unless $self->writing
576 0 5064 unless defined $str
577 0 5064 if $str =~ tr[01][\000-/2-\377]c
579 0 5064 unless $bits > 0
587 4927 137 if ($bits > 0)
596 1 2879 if $self->writing
598 1 2878 unless defined $bits and $bits >= 0
599 1 2877 unless $bits <= $self->len - $self->pos
605 2782 95 if ($bits > 0)
642 3 0 if ($pos < $len)
649 0 2 unless $self->writing
660 2 0 if ($bits > 0)
698 0 6 unless defined $source and $source->can('to_string')
743 0 0 if ($bits > 32) { }