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 218 if $self->{'stopped'}
163 0 218 if 0 == ($flags & 7)
165 20 198 if defined $deadline and $deadline < 1000000000
178 0 218 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 527 if $self->{'stopped'}
217 0 527 unless $lambda and $lambda->isa('IO::Lambda')
219 0 527 if $self == $lambda
222 0 527 if $lambda->is_stopped
231 0 527 if $IO::Lambda::DEBUG_CALLER
235 483 44 if $lambda->is_passive
237 0 522 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 258 if $IO::Lambda::DEBUG_IO
364 0 258 if $nn == @$in or $self != $rec->[0]
367 0 258 if $IO::Lambda::DEBUG_IO
372 213 45 $#$rec == 5 ? :
258 0 if $rec->[3]
375 0 258 if $IO::Lambda::DEBUG_IO
376 0 258 if $IO::Lambda::DEBUG_IO
378 205 53 unless (@$in)
379 0 205 if $IO::Lambda::DEBUG_LAMBDA
389 0 493 if $IO::Lambda::DEBUG_LAMBDA
394 0 493 if $nn == @$in or $self != $rec->[0]
400 0 493 unless $lambda->{'stopped'}
404 490 3 unless @$arr
406 0 493 if $IO::Lambda::DEBUG_LAMBDA
415 467 26 $rec->[3] ? :
417 0 493 if $IO::Lambda::DEBUG_LAMBDA
418 0 493 if $IO::Lambda::DEBUG_LAMBDA
420 255 238 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 710 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 151 exists $_[0]{'autorestart'} ? :
0 151 $#_ ? :
497 3 2 if not $_[0]{'stopped'}
499 1373 2 unless $_[0]{'stopped'}
509 0 192 if $IO::Lambda::DEBUG_LAMBDA
517 0 637 if $self->is_active
519 0 637 if $IO::Lambda::DEBUG_LAMBDA
521 634 3 if $self->{'start'}
522 0 624 if $IO::Lambda::DEBUG_LAMBDA
524 137 487 unless (@{$self->{'in'};})
525 0 137 if $IO::Lambda::DEBUG_LAMBDA
531 35 119 wantarray ? :
538 0 571 if $self->is_active
551 0 82 if $IO::Lambda::DEBUG_LAMBDA
568 0 487789 if $IO::Lambda::DEBUG_LAMBDA
574 1287196 493 unless $rec->[2]{'stopped'}
579 0 488137 if $IO::Lambda::DEBUG_LAMBDA and $changed
581 0 487789 if $IO::Lambda::DEBUG_LAMBDA
594 110 487354 if $_->empty
599 232 487557 if (drive())
605 250 487307 unless ($IO::Lambda::LOOP->empty)
610 487504 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 632 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 160 if 2 == @_
706 161 0 defined $IO::Lambda::METHOD ? :
712 66 372 @_ ? :
713 573 524 @_ ? :
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 433 if $IO::Lambda::DEBUG_CALLER
901 0 373 if $IO::Lambda::DEBUG_CALLER
908 407 26 $cb ? :
141 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 434 if $IO::Lambda::THIS->{'override'}{'tail'}
973 1 433 unless $lambda
975 151 282 if $lambda->is_stopped and $lambda->autorestart
977 270 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 139 unless defined $$buf
1202 0 135 unless $_[1]
1205 0 135 if ($IO::Lambda::DEBUG_IO)
1206 0 0 defined $n ? :
1207 0 0 if $IO::Lambda::DEBUG_IO > 1 and $n > 0
1209 0 135 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
1229 0 8 unless defined $n
1238 131 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 136 unless defined $bytes
1274 37 99 unless ($bytes)
1275 37 0 unless defined $cond
1281 10 89 if $match
1284 0 89 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 $@