Branch Coverage

blib/lib/IO/Lambda.pm
Criterion Covered Total %
branch 266 424 62.7


line true false branch
90 27 478 unless $IO::Lambda::LOOP
107 0 0 if $_doffs
111 0 0 $_[0] < 1000000 ? :
0 0 defined $_[0] ? :
116 0 0 $_[0][5] & 4 ? :
0 0 $_[0][5] & 2 ? :
0 0 $_[0][5] & 1 ? :
0 0 $_[0][5] ? :
0 0 ref $_[0][2] ? :
0 0 $#{$_[0];} == 5 ? :
143 0 0 defined $_ ? :
162 0 183 if $self->{'stopped'}
163 0 183 if 0 == ($flags & 7)
165 20 163 if defined $deadline and $deadline < 1000000000
178 0 183 if $IO::Lambda::DEBUG_IO
190 0 54 if $self->{'stopped'}
191 0 54 unless defined $deadline
193 51 3 if $deadline < 1000000000
203 0 54 if $IO::Lambda::DEBUG_IO
216 0 492 if $self->{'stopped'}
217 0 492 unless $lambda and $lambda->isa('IO::Lambda')
219 0 492 if $self == $lambda
222 0 492 if $lambda->is_stopped
231 0 492 if $IO::Lambda::DEBUG_CALLER
235 448 44 if $lambda->is_passive
237 0 487 if $IO::Lambda::DEBUG_LAMBDA
245 14 19 4 == @_ ? :
247 13 20 if ($cb) { }
252 1 19 unless $p = $self->{'override'}{$method}
254 19 2 if (not defined $state || defined $p->[$i][0] or defined $state and defined $p->[$i][0] and $p->[$i][0] eq $state)
265 11 8 unless @$p
282 8 32 if (not !(defined $a || defined $b) || defined $a && defined $b && $a eq $b || defined $b && $b eq '*') { }
288 4 4 if (1 == @{$self->{'override'}{$method};}) { }
300 22 10 if (1 == @{$self->{'override'}{$method};}) { }
318 4 20 4 == @_ ? :
320 10 14 unless $cb
339 0 25 unless $_[0]{'super'}
341 5 20 if (defined $data->[1]) { }
347 5 0 wantarray ? :
15 5 defined $data->[0] ? :
359 0 223 if $IO::Lambda::DEBUG_IO
364 0 223 if $nn == @$in or $self != $rec->[0]
367 0 223 if $IO::Lambda::DEBUG_IO
372 178 45 $#$rec == 5 ? :
223 0 if $rec->[3]
375 0 223 if $IO::Lambda::DEBUG_IO
376 0 223 if $IO::Lambda::DEBUG_IO
378 170 53 unless (@$in)
379 0 170 if $IO::Lambda::DEBUG_LAMBDA
389 0 458 if $IO::Lambda::DEBUG_LAMBDA
394 0 458 if $nn == @$in or $self != $rec->[0]
400 0 458 unless $lambda->{'stopped'}
404 455 3 unless @$arr
406 0 458 if $IO::Lambda::DEBUG_LAMBDA
415 432 26 $rec->[3] ? :
417 0 458 if $IO::Lambda::DEBUG_LAMBDA
418 0 458 if $IO::Lambda::DEBUG_LAMBDA
420 255 203 unless (@$in)
421 0 255 if $IO::Lambda::DEBUG_LAMBDA
431 1 8 unless @{$self->{'in'};}
433 0 8 if $rec->[1]
436 8 0 if $IO::Lambda::LOOP
439 5 3 if ($rec->[2] and ref $rec->[2])
441 4 1 if ($arr)
443 4 0 unless @$arr
448 4 4 if @{$self->{'in'};}
451 0 4 if $IO::Lambda::DEBUG_LAMBDA
464 675 46 unless @{$self->{'in'};}
472 46 0 if $IO::Lambda::LOOP
476 30 20 if (ref $rec->[2])
478 30 0 if ($arr)
480 30 0 unless @$arr
494 0 116 exists $_[0]{'autorestart'} ? :
0 116 $#_ ? :
497 3 2 if not $_[0]{'stopped'}
499 1303 2 unless $_[0]{'stopped'}
509 0 157 if $IO::Lambda::DEBUG_LAMBDA
517 0 602 if $self->is_active
519 0 602 if $IO::Lambda::DEBUG_LAMBDA
521 599 3 if $self->{'start'}
522 0 589 if $IO::Lambda::DEBUG_LAMBDA
524 137 452 unless (@{$self->{'in'};})
525 0 137 if $IO::Lambda::DEBUG_LAMBDA
531 35 119 wantarray ? :
538 0 536 if $self->is_active
551 0 82 if $IO::Lambda::DEBUG_LAMBDA
568 0 485170 if $IO::Lambda::DEBUG_LAMBDA
574 1280964 458 unless $rec->[2]{'stopped'}
579 0 485502 if $IO::Lambda::DEBUG_LAMBDA and $changed
581 0 485170 if $IO::Lambda::DEBUG_LAMBDA
594 110 484798 if $_->empty
599 204 484966 if (drive())
605 218 484748 unless ($IO::Lambda::LOOP->empty)
610 484913 53 if keys %IO::Lambda::EVENTS
619 140 17 if ($self->is_passive)
631 0 0 unless @objects
637 0 0 unless @objects
647 0 0 unless @objects
651 0 0 if @n
676 597 0 $cb ? :
678 0 457 if ($IO::Lambda::DEBUG_CALLER)
679 0 0 if ($IO::Lambda::DEBUG_CALLER > 1) { }
692 0 0 if $IO::Lambda::DEBUG_CALLER and $_[1] and not $IO::Lambda::AGAIN
704 1 125 if 2 == @_
706 126 0 defined $IO::Lambda::METHOD ? :
712 66 337 @_ ? :
713 538 489 @_ ? :
714 0 1 @_ ? :
724 5 36 $_[0] && ref $_[0] ? :
725 36 5 @_ ? :
734 0 31 if $event->[1]
736 0 15 if $IO::Lambda::DEBUG_CALLER
744 31 0 $cb ? :
747 5 26 if $event->[3] and $event->[3] == \&IO::Lambda::_throw
756 0 3 unless $self->{'cancelled_event'}
758 3 0 if $cb
774 0 15 if $IO::Lambda::DEBUG_LAMBDA
784 2 38 if $IO::Lambda::SIGTHROW and not @c
790 2 1 if defined $_[0] and !ref($_[0]) || ref $_[0] ne 'CODE'
791 4 0 if @_
795 0 0 unless $IO::Lambda::EVENTS{"$_[0]"}
813 0 50 if $IO::Lambda::DEBUG_CALLER
817 0 49 if $IO::Lambda::DEBUG_CALLER
822 49 0 $cb ? :
824 14 36 $IO::Lambda::AGAIN ? :
832 0 0 if $IO::Lambda::THIS->{'override'}{'rwx'}
844 0 43 if $IO::Lambda::THIS->{'override'}{'readable'}
856 0 7 if $IO::Lambda::THIS->{'override'}{'writable'}
869 0 41 if $IO::Lambda::DEBUG_CALLER
873 0 38 if $IO::Lambda::DEBUG_CALLER
878 37 1 $cb ? :
880 17 24 $IO::Lambda::AGAIN ? :
888 0 41 if $IO::Lambda::THIS->{'override'}{'timeout'}
897 0 398 if $IO::Lambda::DEBUG_CALLER
901 0 338 if $IO::Lambda::DEBUG_CALLER
908 372 26 $cb ? :
106 292 $IO::Lambda::AGAIN ? :
929 0 36 if defined $name and $IO::Lambda::THIS->{'override'}{$name}
934 0 38 if ($IO::Lambda::DEBUG_CALLER)
935 0 0 defined $name ? :
942 0 37 if $IO::Lambda::DEBUG_CALLER
949 38 0 $cb ? :
963 2 0 if $cb
970 40 399 if $IO::Lambda::THIS->{'override'}{'tail'}
973 1 398 unless $lambda
975 116 282 if $lambda->is_stopped and $lambda->autorestart
977 235 163 if (@param) { }
980 157 6 unless $lambda->is_active
990 0 16 if $IO::Lambda::THIS->{'override'}{'tails'}
995 1 15 unless @lambdas
1002 17 8 if $n--
1008 7 1 $cb ? :
1018 0 1 if $IO::Lambda::THIS->{'override'}{'tailo'}
1023 0 1 unless @lambdas
1031 2 1 if $n--
1038 1 0 $cb ? :
1054 0 6 if $IO::Lambda::THIS->{'override'}{'any_tail'}
1059 0 6 unless @lambdas
1070 3 0 if $cb
1073 6 0 if defined $deadline
1078 2 1 if $n--
1085 1 0 if $cb
1086 1 0 if $timer
1112 3 7 unless @q
1125 0 3 unless @p
1129 3 12 unless @p
1141 0 1 unless @_
1146 3 2 if shift()
1147 1 4 unless @p
1175 0 1 if $max < 1 or $max > @q
1178 0 3 unless @q
1182 3 6 unless @q
1199 0 104 unless defined $$buf
1202 0 100 unless $_[1]
1205 0 100 if ($IO::Lambda::DEBUG_IO)
1206 0 0 defined $n ? :
1207 0 0 if $IO::Lambda::DEBUG_IO > 1 and ($n || 0) > 0
1209 0 100 unless defined $n
1222 0 8 unless $_[1]
1225 0 8 if ($IO::Lambda::DEBUG_IO)
1226 0 0 defined $n ? :
1227 0 0 if $IO::Lambda::DEBUG_IO > 1 and ($n || 0) > 0
1229 0 8 unless defined $n
1238 96 33 unless defined $cond
1240 29 4 if ref $cond eq 'Regexp'
1241 0 4 if ref $cond eq 'CODE'
1255 2 63 unless defined $$buf
1258 13 52 if $match
1261 0 10 if defined $cond and not ref $cond and $cond > length $$buf
1263 0 52 defined $maxbytes ? :
1272 1 101 unless defined $bytes
1274 37 64 unless ($bytes)
1275 37 0 unless defined $cond
1281 10 54 if $match
1284 0 54 if defined $maxbytes
1299 0 1 unless ref $buf
1303 1 0 unless defined $_[1]
1319 0 10 unless defined $$buf
1320 2 8 unless defined $offs
1321 10 0 unless (defined $len)
1329 0 21 unless defined $bytes
1334 21 0 if ($recheck_length)
1336 1 20 if ($l > $olen)
1341 10 11 if $len <= 0
1359 0 52 if $self->{'stopped'}
1375 0 41 if $nn == @$in or $self != $rec->[0]
1380 41 0 unless (@$in)
1381 0 41 if $IO::Lambda::DEBUG_LAMBDA
1389 2 4 $cb ? :
1393 14 0 if defined $_
1407 0 27 if $IO::Lambda::LOOP
1414 0 27 if $@