Branch Coverage

blib/lib/IO/Callback.pm
Criterion Covered Total %
branch 128 144 88.8


line true false branch
228 0 3528 unless ref $self
230 6 3522 unless my $mode = shift()
231 2893 629 if ($mode eq '<') { }
621 8 elsif ($mode eq '>') { }
239 4 3510 unless my $code = shift()
240 2 3508 unless ref $code eq 'CODE'
248 2829 679 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 25 unless *$self->{'R'}
287 2 23 if $self->read($buf, 1)
294 1 1 unless *$self->{'R'}
318 0 3613 unless *$self->{'Code'}
320 3567 46 if (defined $newbit)
321 9 3558 if (ref $newbit)
322 8 1 if (ref $newbit eq 'IO::Callback::ErrorMarker') { }
329 2557 1001 if (length $newbit)
344 2 69 unless *$self->{'R'}
345 32 37 if *$self->{'Eof'} or *$self->{'Err'}
349 4 33 unless (defined $/)
351 2 2 if *$self->{'Err'}
359 24 9 length $/ ? :
362 0 66 if ($/ eq '' and $$buf =~ s/^(\n+)//)
366 19 47 if ($pos >= 0)
369 6 13 unless (length $/)
371 2 4 if $$buf =~ s/^(\n+)//
374 0 2 if *$self->{'Err'}
375 0 2 if $$buf =~ s/^(\n+)//
379 5 14 if (length $$buf == 0 and not *$self->{'Code'})
385 37 10 if (*$self->{'Code'}) { }
387 4 33 if *$self->{'Err'}
393 10 0 if length $$buf
394 10 0 if length $$buf
402 1 32 unless wantarray
405 2 30 unless *$self->{'R'}
406 19 11 if *$self->{'Err'} or *$self->{'Eof'}
412 11 0 unless (length $$buf)
414 0 11 unless length $$buf
424 28 37 if wantarray
432 5 3823 unless *$self->{'R'}
435 400 3423 if $len < 0
436 0 3423 if *$self->{'Err'}
437 2 3421 if *$self->{'Eof'}
441 2 3418 if *$self->{'Err'}
442 1035 2383 if ($len > length $$buf)
444 428 607 unless $len
447 2281 1137 if (@_ > 2) { }
449 480 1801 if ($offset < -1 * length($_[0]))
452 480 1321 if ($offset > length $_[0])
469 0 0 unless $self->opened
470 0 0 unless wantarray
486 2 52 if (defined $\) { }
487 1 1 if (defined $,) { }
495 0 52 if (defined $,) { }
503 30 24 unless defined $result
513 48 14 unless defined $result
547 23 706 unless *$self->{'W'}
548 81 625 if *$self->{'Err'}
553 573 52 if (@_ > 1)
554 497 76 defined $_[1] ? :
555 258 315 if $xlen < $len
556 80 493 if $len < 0
557 460 33 if (@_ > 2)
559 120 36 if ($off >= $slen and $off > 0 and $] < 5.011 || $off > $slen)
562 193 147 if ($off < 0)
564 120 73 if $off < 0
567 58 162 if $rem < $len
570 117 188 if $len == 0
572 12 176 if (defined $ret and ref $ret eq 'IO::Callback::ErrorMarker')