Branch Coverage

blib/lib/Iterator/Flex/Zip.pm
Criterion Covered Total %
branch 54 72 75.0


line true false branch
95 8 5 Ref::Util::XS::is_hashref($args[-1]) ? :
97 0 13 unless @args
104 8 5 if (Ref::Util::XS::is_ref($args[0])) { }
108 0 5 if @args % 2
128 8 5 if (defined(my $on_exhaustion = delete $pars->{'on_exhaustion'})) { }
130 6 2 if (Ref::Util::XS::is_hashref($on_exhaustion)) { }
0 2 elsif (Ref::Util::XS::is_ref($on_exhaustion) or not &first(sub { $on_exhaustion eq $_; } , 'truncate', 'throw')) { }
135 3 3 if @keys
141 0 6 if defined &first(sub { not defined $_; } , @iset)
167 0 13 unless Ref::Util::XS::is_hashref($state)
181 0 13 if @keys and @keys != @iterators
184 0 13 if $thaw
199 1 1 unless @value
200 0 1 if $iterator_state eq 1
201 0 1 if (@keys) { }
216 5 8 if ($on_exhaustion eq 'truncate') { }
2 6 elsif ($on_exhaustion eq 'throw') { }
6 0 elsif ($on_exhaustion eq 'insert') { }
219 0 26 if $iterator_state == 1
226 5 21 unless (eval { do { @nvalue = map({&$_();} @iterators); 1 } })
227 0 5 unless Ref::Util::XS::is_blessed_ref($@) and $@->isa("Iterator::Flex::Failure::Exhausted")
235 6 15 if (@keys) { }
249 0 8 if $iterator_state == 1
258 2 6 unless (eval { do { @nvalue = map({++$idx; &$_();} @iterators); 1 } })
259 0 2 unless Ref::Util::XS::is_blessed_ref($@) and $@->isa("Iterator::Flex::Failure::Exhausted")
269 2 2 unless (eval { do { $iterators[$idx]->(); 1 } })
270 0 2 unless Ref::Util::XS::is_blessed_ref($@) and $@->isa("Iterator::Flex::Failure::Exhausted")
276 0 2 if @exhausted == @iterators
279 1 1 if @keys
287 3 3 if (@keys) { }
304 0 28 if $iterator_state == 1 or $nexhausted == @iterators
314 4 76 if ($exhausted[$idx]) { }
318 14 62 unless (eval { do { $value = $iterators[$idx]->(); 1 } })
319 0 14 unless Ref::Util::XS::is_blessed_ref($@) and $@->isa("Iterator::Flex::Failure::Exhausted")
325 6 8 unless $set[$idx]
338 11 11 if (@keys) { }