Condition Coverage

blib/lib/Sub/Defer.pm
Criterion Covered Total %
condition 49 63 77.7


and 2 conditions

line l !l condition
151 57 31 $target and !1

and 3 conditions

line !l l&&!r l&&r condition
23 3 0 1 eval { do { require Sub::Util } } && defined &Sub::Util::set_subname
2 0 1 eval { do { require Sub::Name } } && defined &Sub::Name::subname
76 14 0 72 $deferred_sub and $deferred eq $deferred_sub
2 0 12 ${$undeferred_ref;} and $deferred eq ${$undeferred_ref;}
88 31 2 28 defined $target and $deferred eq *{_getglob($target);}{'CODE'}
111 2 8 52 $DEFERRED{$_} && $DEFERRED{$_}[0]
122 12 0 6 $deferred_sub and $deferred eq $deferred_sub
6 0 6 ${$undeferred_ref;} and $deferred eq ${$undeferred_ref;}
130 0 4 8 $undeferred_ref && $$undeferred_ref
143 42 46 7 $options and $options->{'attributes'}
191 0 6 86 $_->[3] && ${$_->[3];}

or 2 conditions

line l !l condition
88 28 33 defined $target and $deferred eq *{_getglob($target);}{'CODE'} or ''
119 24 2 $deferred or ''
139 33 3 0 ($package, $subname) = $target =~ /^(.*)::([^:]+)$/ or croak("$target is not a fully qualified sub name!")

or 3 conditions

line l !l&&r !l&&!r condition
76 72 12 2 $deferred_sub and $deferred eq $deferred_sub or ${$undeferred_ref;} and $deferred eq ${$undeferred_ref;}
122 6 12 0 $deferred_sub and $deferred eq $deferred_sub or ${$undeferred_ref;} and $deferred eq ${$undeferred_ref;}
142 35 27 0 $options && $options->{'package'} || caller
33 62 0 $package ||= $options && $options->{'package'} || caller
146 5 2 0 /\A\w+(?:\(.*\))?\z/s or croak("invalid attribute $_")
151 5 10 78 @attributes or $target and !1
176 4 33 0 $undeferred ||= undefer_sub($deferred_info->[4])