Branch Coverage

blib/lib/Attribute/Handlers.pm
Criterion Covered Total %
branch 73 112 65.1


line true false branch
13 1 77 if $symcache{join $;, $pkg, $ref}
18 6 5453 if (ref $sym and $sym == $ref)
22 16 5437 unless ref \$sym eq "GLOB"
24 35 5402 if *{$sym;}{$type} and *{$sym;}{$type} == $ref
59 0 6 unless $class eq "Attribute::Handlers"
62 2 0 if ($cmd =~ /^autotie((?:ref)?)$/) { }
63 0 2 $1 ? :
65 0 2 unless ref $mapping eq "HASH"
69 0 4 unless $attr =~ /$qual_id/i and $tieclass =~ /$qual_id/i and eval "use base q\000$tieclass\000; 1"
72 0 4 if ($tieclass->isa("Exporter"))
89 1 3 if ($attr =~ /\A__CALLER__::/) { }
97 0 2 unless eval " sub $full_attr $code 1; "
2 0 unless $was_arrayref
0 0 $type eq 'HASH' ? :
0 0 $type eq 'ARRAY' ? :
2 0 if ($type eq 'SCALAR') { }
1 1 unless $was_arrayref
0 0 $type eq 'HASH' ? :
1 0 $type eq 'ARRAY' ? :
1 1 if ($type eq 'SCALAR') { }
100 0 2 if $next
104 0 0 if (my $import = $isa->can("import"))
105 0 0 if $import != $uni
109 2 0 if $uni
114 1 2 unless $attr =~ /::/
115 0 3 unless eval " sub $attr $code 1; "
149 0 24 unless $lastattr{'ref'}
150 1 23 unless my $sym = findsym(@lastattr{"pkg", "ref"})
153 0 24 if $^W and not $name =~ /[A-Z]/
163 0 1 if $AUTOLOAD =~ /::DESTROY$/
165 0 0 unless $AUTOLOAD =~ /_ATTR_(.*?)_(.*)/
176 0 80 if &_delayed_name_resolution()
180 0 81 unless my($attr, $data) = /^([a-z_]\w*)(?:[(](.*)[)])?$/is
181 23 58 if ($attr eq 'ATTR') { }
185 2 21 if $data =~ s/\s*,?\s*(BEGIN)\s*,?\s*//
187 1 22 if $data =~ s/\s*,?\s*(INIT)\s*,?\s*//
189 1 22 if $data =~ s/\s*,?\s*(END)\s*,?\s*//
193 18 5 if $data =~ s/\s*,?\s*(CHECK)\s*,?\s*// or not keys %{$phase{$ref};}
195 0 23 if keys %lastattr
199 0 23 unless $validtype{$data}
201 23 0 unless &_delayed_name_resolution()
206 2 56 unless $handler
211 130 94 if $global_phases{$gphase} <= $global_phase
213 37 19 if ($global_phase != 0) { }
220 1 36 if $phase{$handler}{'END'}
228 2 78 if defined $_
243 132 55 unless $handlerphase->{$phase}
244 0 55 if $debug
249 0 36 $type eq 'CODE' ? :
251 45 10 if (not $raw and defined $data)
252 45 0 if ($data ne '') { }
256 0 45 if $debug
267 2 43 unless (eval $code)
268 0 2 if $debug
277 19 36 ref $sym eq 'GLOB' ? :
291 0 5 if &_delayed_name_resolution()