Branch Coverage

blib/lib/IO/Lambda.pm
Criterion Covered Total %
branch 257 424 60.6


line true false branch
90 14 202 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 10 if $self->{'stopped'}
163 0 10 if 0 == ($flags & 7)
165 3 7 if defined $deadline and $deadline < 1000000000
178 0 10 if $IO::Lambda::DEBUG_IO
190 0 50 if $self->{'stopped'}
191 0 50 unless defined $deadline
193 47 3 if $deadline < 1000000000
203 0 50 if $IO::Lambda::DEBUG_IO
216 0 183 if $self->{'stopped'}
217 0 183 unless $lambda and $lambda->isa('IO::Lambda')
219 0 183 if $self == $lambda
222 0 183 if $lambda->is_stopped
231 0 183 if $IO::Lambda::DEBUG_CALLER
235 171 12 if $lambda->is_passive
237 0 183 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 53 if $IO::Lambda::DEBUG_IO
364 0 53 if $nn == @$in or $self != $rec->[0]
367 0 53 if $IO::Lambda::DEBUG_IO
372 10 43 $#$rec == 5 ? :
53 0 if $rec->[3]
375 0 53 if $IO::Lambda::DEBUG_IO
376 0 53 if $IO::Lambda::DEBUG_IO
378 38 15 unless (@$in)
379 0 38 if $IO::Lambda::DEBUG_LAMBDA
389 0 174 if $IO::Lambda::DEBUG_LAMBDA
394 0 174 if $nn == @$in or $self != $rec->[0]
400 0 174 unless $lambda->{'stopped'}
404 171 3 unless @$arr
406 0 174 if $IO::Lambda::DEBUG_LAMBDA
415 156 18 $rec->[3] ? :
417 0 174 if $IO::Lambda::DEBUG_LAMBDA
418 0 174 if $IO::Lambda::DEBUG_LAMBDA
420 104 70 unless (@$in)
421 0 104 if $IO::Lambda::DEBUG_LAMBDA
431 1 6 unless @{$self->{'in'};}
433 0 6 if $rec->[1]
436 6 0 if $IO::Lambda::LOOP
439 3 3 if ($rec->[2] and ref $rec->[2])
441 2 1 if ($arr)
443 2 0 unless @$arr
448 3 3 if @{$self->{'in'};}
451 0 3 if $IO::Lambda::DEBUG_LAMBDA
464 308 22 unless @{$self->{'in'};}
472 22 0 if $IO::Lambda::LOOP
476 7 13 if (ref $rec->[2])
478 7 0 if ($arr)
480 7 0 unless @$arr
494 0 43 exists $_[0]{'autorestart'} ? :
0 43 $#_ ? :
497 2 2 if not $_[0]{'stopped'}
499 609 2 unless $_[0]{'stopped'}
509 0 82 if $IO::Lambda::DEBUG_LAMBDA
517 0 271 if $self->is_active
519 0 271 if $IO::Lambda::DEBUG_LAMBDA
521 268 3 if $self->{'start'}
522 0 271 if $IO::Lambda::DEBUG_LAMBDA
524 125 146 unless (@{$self->{'in'};})
525 0 125 if $IO::Lambda::DEBUG_LAMBDA
531 10 102 wantarray ? :
538 0 240 if $self->is_active
551 0 51 if $IO::Lambda::DEBUG_LAMBDA
568 0 170 if $IO::Lambda::DEBUG_LAMBDA
574 223 174 unless $rec->[2]{'stopped'}
579 0 317 if $IO::Lambda::DEBUG_LAMBDA and $changed
581 0 170 if $IO::Lambda::DEBUG_LAMBDA
594 6 20 if $_->empty
599 78 92 if (drive())
605 89 3 unless ($IO::Lambda::LOOP->empty)
610 54 38 if keys %IO::Lambda::EVENTS
619 91 16 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 266 0 $cb ? :
678 0 200 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 57 if 2 == @_
706 58 0 defined $IO::Lambda::METHOD ? :
712 29 126 @_ ? :
713 202 180 @_ ? :
714 0 1 @_ ? :
724 5 12 $_[0] && ref $_[0] ? :
725 12 5 @_ ? :
734 0 23 if $event->[1]
736 0 15 if $IO::Lambda::DEBUG_CALLER
744 23 0 $cb ? :
747 5 18 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 5 if $IO::Lambda::DEBUG_CALLER
817 0 5 if $IO::Lambda::DEBUG_CALLER
822 5 0 $cb ? :
824 2 3 $IO::Lambda::AGAIN ? :
832 0 0 if $IO::Lambda::THIS->{'override'}{'rwx'}
844 0 5 if $IO::Lambda::THIS->{'override'}{'readable'}
856 0 0 if $IO::Lambda::THIS->{'override'}{'writable'}
869 0 40 if $IO::Lambda::DEBUG_CALLER
873 0 37 if $IO::Lambda::DEBUG_CALLER
878 36 1 $cb ? :
880 17 23 $IO::Lambda::AGAIN ? :
888 0 40 if $IO::Lambda::THIS->{'override'}{'timeout'}
897 0 151 if $IO::Lambda::DEBUG_CALLER
901 0 112 if $IO::Lambda::DEBUG_CALLER
908 133 18 $cb ? :
53 98 $IO::Lambda::AGAIN ? :
929 0 4 if defined $name and $IO::Lambda::THIS->{'override'}{$name}
934 0 6 if ($IO::Lambda::DEBUG_CALLER)
935 0 0 defined $name ? :
942 0 6 if $IO::Lambda::DEBUG_CALLER
949 6 0 $cb ? :
963 2 0 if $cb
970 40 152 if $IO::Lambda::THIS->{'override'}{'tail'}
973 1 151 unless $lambda
975 43 108 if $lambda->is_stopped and $lambda->autorestart
977 55 96 if (@param) { }
980 90 6 unless $lambda->is_active
990 0 7 if $IO::Lambda::THIS->{'override'}{'tails'}
995 1 6 unless @lambdas
1002 4 2 if $n--
1008 1 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 3 if $IO::Lambda::THIS->{'override'}{'any_tail'}
1059 0 3 unless @lambdas
1070 2 0 if $cb
1073 3 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 2 unless defined $$buf
1202 0 2 unless $_[1]
1205 0 2 if ($IO::Lambda::DEBUG_IO)
1206 0 0 defined $n ? :
1207 0 0 if $IO::Lambda::DEBUG_IO > 1 and $n > 0
1209 0 2 unless defined $n
1222 0 0 unless $_[1]
1225 0 0 if ($IO::Lambda::DEBUG_IO)
1226 0 0 defined $n ? :
1227 0 0 if $IO::Lambda::DEBUG_IO > 1 and $n > 0
1229 0 0 unless defined $n
1238 3 3 unless defined $cond
1240 3 0 if ref $cond eq 'Regexp'
1241 0 0 if ref $cond eq 'CODE'
1255 2 2 unless defined $$buf
1258 1 3 if $match
1261 0 1 if defined $cond and not ref $cond and $cond > length $$buf
1263 0 3 defined $maxbytes ? :
1272 1 3 unless defined $bytes
1274 1 2 unless ($bytes)
1275 1 0 unless defined $cond
1281 1 1 if $match
1284 0 1 if defined $maxbytes
1299 0 0 unless ref $buf
1303 0 0 unless defined $_[1]
1319 0 2 unless defined $$buf
1320 2 0 unless defined $offs
1321 2 0 unless (defined $len)
1329 0 13 unless defined $bytes
1334 13 0 if ($recheck_length)
1336 1 12 if ($l > $olen)
1341 2 11 if $len <= 0
1359 0 20 if $self->{'stopped'}
1375 0 10 if $nn == @$in or $self != $rec->[0]
1380 10 0 unless (@$in)
1381 0 10 if $IO::Lambda::DEBUG_LAMBDA
1389 2 4 $cb ? :
1393 5 0 if defined $_
1407 0 14 if $IO::Lambda::LOOP
1414 0 14 if $@