Branch Coverage

blib/lib/Object/Pluggable.pm
Criterion Covered Total %
branch 39 82 47.5


line true false branch
19 1 0 unless $$self{'_pluggable_reg_prefix'}
20 1 0 unless $$self{'_pluggable_prefix'}
22 1 0 if (ref $$self{'_pluggable_types'} eq 'ARRAY') { }
0 0 elsif (ref $$self{'_pluggable_types'} ne 'HASH') { }
45 0 6 unless (defined $type and defined $event)
60 2 4 if ($self->can($sub)) { }
0 4 elsif ($self->can('_default')) { }
69 1 5 unless defined $self_ret
70 0 6 if $self_ret == 3
71 0 6 if $self_ret == 2
72 0 6 if $self_ret == 4
74 0 6 if (@extra_args)
80 0 4 if ($self eq $plugin or not $$pipeline{'HANDLES'}{$plugin}{$type}{$event} || $$pipeline{'HANDLES'}{$plugin}{$type}{'all'})
89 2 2 if ($plugin->can($sub)) { }
0 2 elsif ($plugin->can('_default')) { }
98 1 3 unless defined $ret
99 0 4 if $ret == 3
100 0 4 if $ret == 2
101 0 4 if $ret == 4
103 0 4 if (@extra_args)
114 2 2 defined $source ? :
116 0 4 if ($@) { }
2 2 elsif (not defined $return or $return != 1 and $return != 3 and $return != 2 and $return != 4) { }
119 0 0 if $$self{'_pluggable_debug'}
121 0 0 $object == $self ? :
132 0 2 if $$self{'_pluggable_debug'}
134 1 1 $object == $self ? :
148 1 9 if $@
156 0 1 unless (defined $name and defined $plugin)
168 0 1 unless (defined $name)
181 0 0 unless (defined $name)
208 0 1 unless (grep {$_ eq $type;} keys %{$$self{'_pluggable_types'};})
213 0 1 unless (defined $plugin)
218 0 1 unless (@events)
224 0 1 if (ref $ev and ref $ev eq 'ARRAY') { }
239 0 0 unless (grep {$_ eq $type;} keys %{$$self{'_pluggable_types'};})
244 0 0 unless (defined $plugin)
249 0 0 unless (@events)
255 0 0 if (ref $ev and ref $ev eq 'ARRAY') { }
257 0 0 unless (delete $$pipeline{'HANDLES'}{$plugin}{$type}{$e})
265 0 0 unless (delete $$pipeline{'HANDLES'}{$plugin}{$type}{$ev})