Branch Coverage

blib/lib/Attribute/Storage.pm
Criterion Covered Total %
branch 51 70 72.8


line true false branch
93 0 10 unless $class eq 'Attribute::Storage'
104 6 25 unless defined $opts
105 9 22 $attrname eq 'ATTR' ? :
116 0 11 unless $sub = 'Attribute::Storage'->can($symb)
264 9 3 if /^CODE$/
266 0 3 if /^SCALAR|HASH|ARRAY$/
269 1 2 if /^RAWDATA$/
272 1 1 if /^MULTI$/
275 1 0 if /^NAME$/
290 0 22 unless my $cv = $pkg->can($attrname)
291 0 22 unless my $cvattrs = _get_attr_hash($cv, 0)
292 0 22 unless my $type = $$cvattrs{'ATTR'}
295 1 21 if ($$type{'raw'}) { }
301 21 0 defined $opts ? :
304 0 21 if ($@)
312 2 20 if ($$type{'name'})
316 3 19 if ($$type{'multi'}) { }
320 1 18 if exists $$attrs{$attrname}
325 0 21 if $@
326 0 21 unless defined $value
353 0 1 unless defined $sub
356 1 0 if (ref $sub) { }
362 0 0 unless defined $cv
365 0 1 unless _get_attr_hash($cv, 0)
380 0 45 unless defined $sub
383 42 3 if (ref $sub) { }
389 0 3 unless defined $cv
392 17 28 unless my $attrhash = _get_attr_hash($cv, 0)
491 1 4 if ref $matching eq 'Regexp'
500 1 4 ref $pkg ? :
505 0 42 if exists $ret{$symname}
509 7 35 unless my $cv = $pkg->can($symname)
511 6 29 if $matching and not &$matching(local $_ = $symname)
513 15 14 unless defined get_subattr($cv, $attrname)
515 1 13 if $filter and not &$filter($cv, $symname, $pkg)