Branch Coverage

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


line true false branch
34 1 58 unless (@_)
38 17 41 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 38 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 41 unless (@_)
113 1 40 if (ref $self eq 'ARRAY')
116 1 39 if (&reftype($self) eq 'GLOB')
119 39 0 if (&blessed($self))
120 35 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 8 0 defined $next ? :
315 6 2 defined $end ? :
316 4 4 defined $step ? :
317 0 8 if ($next == $end)
325 6 40 if $next < 0
328 38 33 if ($idx++ == $next)
330 6 32 if ($end > 0 and $next >= $end)
351 0 43 if (ref $ary ne 'ARRAY')
357 34 278 if $idx == @$ary
375 0 88 if (ref $_[1] ne 'CODE')