Branch Coverage

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


line true false branch
142 3761 56257 unless exists $$self{'buffer'}
155 3753 14 unless ($c == 255)
168 0 0 unless ($c == 0)
186 0 60010 unless defined $$self{'counter'}
189 3750 56260 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) { }
280 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)
326 0 1 unless rand $ctr and length $ctr == $$self{'blksize'} and is_number $subpos and $subpos >= 0 and $subpos < $$self{'blksize'}