Branch Coverage

blib/lib/File/Bidirectional.pm
Criterion Covered Total %
branch 65 104 62.5


line true false branch
185 0 206 unless defined $class
187 0 206 unless defined $file
189 0 206 unless not defined $option or ref $option eq 'HASH'
194 0 206 unless $block_size =~ /^\d+$/ and $block_size > 0
199 206 0 unless defined $sep
204 206 0 unless defined $sep_re
208 0 206 $sep_re ? :
212 0 206 _is_mac() ? :
0 206 _is_dos() && !$binmode ? :
219 0 206 unless not defined $mode or $mode =~ /^(bi|forward|backward)$/
221 1 205 unless defined $mode
225 0 206 unless not defined $origin or $mode eq 'bi'
227 0 206 unless not defined $origin or $origin =~ /^(1|-1)$/
229 70 136 unless (defined $origin)
230 35 0 $mode eq 'backward' ? :
34 35 $mode eq 'forward' ? :
1 69 $mode eq 'bi' ? :
240 103 103 $origin == 1 ? :
242 0 206 unless sysopen my $fh, $file, 0
306 0 1932 unless $$x{'mode'} eq 'bi'
339 103 102 $$x{'move'} == 1 ? :
340 0 205 unless CORE::close $$x{'fh'}
358 0 0 unless not defined $direction or $direction =~ /^(1|-1)$/
361 0 0 if (defined $direction and $direction != $$x{'move'})
416 1041 1041 $$x{'move'} == 1 ? :
450 0 0 $$x{'move'} == -1 ? :
0 0 $$x{'move'} == 1 ? :
463 144241 1149 if (@{$$x{'buffer'};} > 1 or $$x{'cur'} == $$x{'file_size'})
465 144152 89 if defined $line
473 0 1149 unless sysseek $$x{'fh'}, $$x{'cur'}, 0
479 0 1149 unless my $size = sysread($$x{'fh'}, $tmp, $$x{'block_size'})
485 88 1061 if @{$$x{'buffer'};}
488 0 1149 if defined $$x{'translate'}
503 144217 1149 if (@{$$x{'buffer'};} > 1 or $$x{'cur'} == 0)
505 144129 88 if defined $line
515 440 709 if ($$x{'cur'} < 0)
519 0 1149 unless sysseek $$x{'fh'}, $$x{'cur'}, 0
525 0 1149 unless sysread($$x{'fh'}, $tmp, $read_size) == $read_size
530 88 1061 if @{$$x{'buffer'};}
533 0 1149 if defined $$x{'translate'}
545 0 0 $$x{'move'} == -1 ? :
0 0 $$x{'move'} == 1 ? :
569 1069 0 $$x{'move'} == -1 ? :
1069 1069 $$x{'move'} == 1 ? :
570 1069 0 $$x{'move'} == -1 ? :
1069 1069 $$x{'move'} == 1 ? :
571 1069 0 $$x{'move'} == -1 ? :
1069 1069 $$x{'move'} == 1 ? :
572 1069 0 $$x{'move'} == -1 ? :
1069 1069 $$x{'move'} == 1 ? :
573 1069 0 $$x{'move'} == -1 ? :
1069 1069 $$x{'move'} == 1 ? :