Branch Coverage

blib/lib/Attribute/Default.pm
Criterion Covered Total %
branch 56 68 82.3


line true false branch
43 2 3 if (defined $subname and $subname eq 'exsub') { }
63 0 13 unless ref $sub eq 'CODE'
76 0 10 unless ref $defaults and ref $defaults ne 'CODE'
90 8 0 if $_ eq 'method'
113 7 19 if (UNIVERSAL::isa($$defaults[$_], 'Attribute::Default::ExSub')) { }
133 6 16 if (ref $defaults eq 'ARRAY') { }
13 3 elsif (ref $defaults eq 'HASH') { }
160 7 11 if (%$exsubs) { }
165 1 7 if defined $$processed[$idx]
196 6 16 if (UNIVERSAL::isa($value, 'Attribute::Default::ExSub')) { }
224 6 7 if (%$exsubs) { }
230 1 7 if defined $processed{$key}
257 5 5 if (_is_method($orig)) { }
258 4 1 if (defined $exsub_sub) { }
275 2 3 if (defined $exsub_sub) { }
297 7 3 if (defined $defaults and ref $defaults eq 'ARRAY' and scalar @{$defaults;} == 1)
320 14 5 unless (defined $args{$key})
321 0 14 if (UNIVERSAL::isa($value, 'Attribute::Default::ExSub')) { }
346 11 1 defined $_[$_] ? :
348 10 13 if ($#$defaults > $#_)
381 0 9 unless ref $defaults and ref $defaults eq 'ARRAY'
388 12 6 if (my $type = ref $$defaults[$_] and not UNIVERSAL::isa($$defaults[$_], 'Attribute::Default::ExSub')) { }
391 5 7 if defined $fill_exsub
400 3 6 if (_is_method($orig)) { }
405 0 2 if defined $toplevel_exsub
421 3 5 if defined $toplevel_exsub
437 0 4 unless $type eq ref $$args[$idx] or not defined $$args[$idx]
438 4 0 if ($type eq 'HASH') { }
0 0 elsif ($type eq 'ARRAY') { }
457 0 12 unless $type eq ref $$filled[$idx] or not defined $$filled[$idx]
458 9 3 if ($type eq 'HASH') { }
3 0 elsif ($type eq 'ARRAY') { }
459 2 7 defined $$filled[$idx] ? :
461 1 2 defined $$filled[$idx] ? :