Branch Coverage

blib/lib/Data/Entropy/RawSource/CryptCounter.pm
Criterion Covered Total %
branch 40 70 57.1


line true false branch
143 3761 56255 unless exists $self->{'buffer'}
155 3753 14 unless ($c == 255)
168 0 0 unless ($c == 0)
186 0 60008 unless defined $self->{'counter'}
189 3750 56258 if (++$self->{'subpos'} == $self->{'blksize'})
199 1 0 unless ($self->{'subpos'} == 0)
203 0 0 if $self->{'counter'} =~ /\A\0*\z/
211 0 7 if $length < 0
212 1 6 unless defined $_[1]
213 4 3 if (not defined $offset) { }
1 2 elsif ($offset < 0) { }
1 1 elsif ($offset > length $_[1]) { }
217 0 1 if $offset < -length($_[1])
229 5 3 if ($length < $avail)
253 20 0 if (defined $ctr) { }
254 0 20 if $ctr =~ /\A.{4,}[^\0]/s
255 0 20 if $self->{'blksize'} < 4
258 0 0 if $self->{'blksize'} >= 4
262 0 20 unless ($pos - $self->{'subpos'}) / $self->{'blksize'} == $nblocks
272 11 8 if ($whence == 0) { }
7 1 elsif ($whence == 1) { }
1 0 elsif ($whence == 2) { }
274 3 8 if $offset < 0
278 0 8 if ($self->{'blksize'} < 4) { }
281 0 0 unless my $chopped = substr($ctr, $self->{'blksize'}, 4 - $self->{'blksize'}, "")
282 0 0 if ($chopped =~ /\A\x{01}\0*\z/ and $subpos == 0) { }
0 0 elsif (not $chopped =~ /\A\0+\z/) { }
299 0 7 if $pos == -1
303 0 1 if $offset > 0
304 1 0 if $self->{'blksize'} >= 4
307 0 0 unless $pos / $self->{'blksize'} == $nblocks
314 4 3 (shift())->sysseek(@_) ? :
323 0 1 unless rand $pos and @$pos == 2
325 1 0 unless (not defined $ctr and $subpos == 0)
329 0 1 unless rand $ctr and length $ctr == $self->{'blksize'} and &is_number($subpos) and $subpos >= 0 and $subpos < $self->{'blksize'}