Branch Coverage

blib/lib/Iterator/Simple.pm
Criterion Covered Total %
branch 75 92 81.5


line true false branch
34 1 57 unless (@_)
38 17 40 if (blessed $self)
39 15 2 if ($self->isa('Iterator::Simple::Iterator'))
43 1 1 if ($method = $self->can('__iter__'))
46 1 0 if ($method = overload::Method($self, '<>') || $self->can('next'))
49 0 0 if ($method = overload::Method($self, '&{}'))
52 0 0 if ($method = overload::Method($self, '@{}'))
56 37 3 if (ref $self eq 'ARRAY')
59 1 2 if (ref $self eq 'CODE')
62 2 0 if (reftype $self eq 'GLOB')
99 3 0 if blessed($_[0])
109 1 40 unless (@_)
113 1 39 if (ref $self eq 'ARRAY')
116 1 38 if (reftype $self eq 'GLOB')
119 38 0 if (blessed $self)
120 34 4 if ($self->isa('Iterator::Simple::Iterator'))
126 1 3 if ($method = overload::Method($self, '@{}'))
129 1 2 if ($method = $self->can('__iter__'))
135 2 0 if ($method = overload::Method($self, '<>') || $self->can('next'))
156 0 7 if (ref $code ne 'CODE' and not overload::Method($code, '&{}'))
164 53 47 if ($buf)
165 48 5 if defined($rv = &$buf())
169 6 45 unless defined($rv = &$code())
170 40 5 unless eval { do { $rv->isa('Iterator::Simple::Iterator') } }
172 5 0 if defined($rv = &$buf())
191 3 28 unless defined $_
209 20 8 if &$code()
228 6 14 if ($buf)
229 3 3 if defined($rv = &$buf())
234 3 14 unless defined $rv
235 11 3 unless eval { do { $rv->isa('Iterator::Simple::Iterator') } }
237 3 0 if defined($rv = &$buf())
251 0 3 if (@srcs == 1)
257 22 7 if defined $rv
277 3 8 unless defined $rv
296 2 12 unless defined $rv
314 7 0 defined $next ? :
315 5 2 defined $end ? :
316 4 3 defined $step ? :
317 0 7 if ($next == $end)
325 5 37 if $next < 0
328 35 33 if ($idx++ == $next)
330 5 30 if ($end > 0 and $next >= $end)
351 0 42 if (ref $ary ne 'ARRAY')
357 34 275 if $idx == @$ary
375 0 86 if (ref $_[1] ne 'CODE')