Branch Coverage

blib/lib/IO/Callback.pm
Criterion Covered Total %
branch 138 144 95.8


line true false branch
228 0 194001 unless ref $self
230 6 193995 unless my $mode = shift()
231 135324 58671 if ($mode eq '<') { }
58663 8 elsif ($mode eq '>') { }
239 4 193983 unless my $code = shift()
240 2 193981 unless ref $code eq 'CODE'
248 135260 58721 if (@_) { }
259 8 35 unless defined *$self->{'code'}
260 1 34 if *$self->{'err'}
261 25 9 if (*$self->{'w'})
263 1 24 if ($ret and ref $ret eq 'IO::Callback::ErrorMarker')
272 0 33 if $] eq '5.008'
285 4 42685 unless *$self->{'r'}
287 39392 3293 if $self->read($buf, 1)
294 1 40231 unless *$self->{'r'}
318 7160 1217295 unless *$self->{'code'}
320 1084819 132476 if (defined $newbit)
321 9 1084810 if (ref $newbit)
322 8 1 if (ref $newbit eq 'IO::Callback::ErrorMarker') { }
329 1083809 1001 if (length $newbit)
344 2 201229 unless *$self->{'r'}
345 67772 133457 if *$self->{'eof'} or *$self->{'err'}
349 26964 106493 unless (defined $/)
351 2 26962 if *$self->{'err'}
359 78584 27909 length $/ ? :
362 13312 633702 if ($/ eq '' and $$buf =~ s/^(\n+)//)
366 53539 593475 if ($pos >= 0)
369 8226 45313 unless (length $/)
371 2578 5648 if $$buf =~ s/^(\n+)//
374 0 8698 if *$self->{'err'}
375 1364 7334 if $$buf =~ s/^(\n+)//
379 19845 33694 if (length $$buf == 0 and not *$self->{'code'})
385 540525 52950 if (*$self->{'code'}) { }
387 4 540521 if *$self->{'err'}
393 42490 10460 if length $$buf
394 42490 10460 if length $$buf
402 1 60752 unless wantarray
405 2 60750 unless *$self->{'r'}
406 3859 56891 if *$self->{'err'} or *$self->{'eof'}
412 41563 15328 unless (length $$buf)
414 5920 35643 unless length $$buf
424 30388 40717 if wantarray
432 5 332453 unless *$self->{'r'}
435 400 332053 if $len < 0
436 0 332053 if *$self->{'err'}
437 5282 326771 if *$self->{'eof'}
441 2 326768 if *$self->{'err'}
442 81295 245473 if ($len > length $$buf)
444 39618 41677 unless $len
447 2281 324487 if (@_ > 2) { }
449 480 1801 if ($offset < -1 * length($_[0]))
452 480 1321 if ($offset > length $_[0])
469 0 1 unless $self->opened
470 0 1 unless wantarray
486 40802 13652 if (defined $\) { }
487 30601 10201 if (defined $,) { }
495 10200 3452 if (defined $,) { }
503 30 54424 unless defined $result
513 48 3414 unless defined $result
547 23 58748 unless *$self->{'w'}
548 81 58667 if *$self->{'err'}
553 815 57852 if (@_ > 1)
554 739 76 defined $_[1] ? :
555 390 425 if $xlen < $len
556 80 735 if $len < 0
557 592 143 if (@_ > 2)
559 120 36 if ($off >= $slen and $off > 0 and $] < 5.011 || $off > $slen)
562 237 235 if ($off < 0)
564 120 117 if $off < 0
567 58 294 if $rem < $len
570 9769 48578 if $len == 0
572 12 48566 if (defined $ret and ref $ret eq 'IO::Callback::ErrorMarker')