Branch Coverage

blib/lib/Attribute/Handlers/Clean.pm
Criterion Covered Total %
branch 68 108 62.9


line true false branch
15 1 73 if $symcache{join $;, $pkg, $ref}
21 0 7569 if (ref $sym and $sym == $ref)
25 6 7563 unless ref \$sym eq 'GLOB'
27 39 7524 if *{$sym;}{$type} and *{$sym;}{$type} == $ref
67 0 7 @caller_1 && $caller_1[3] eq "$caller_0[0]::import" ? :
70 6 1 unless $caller eq $class or grep {$_ eq $class;} @{"${caller}::ISA";}
72 20 8 unless defined *{"${caller}::MODIFY_${_}_ATTRIBUTES";}
75 1 6 unless $class eq 'Attribute::Handlers::Clean'
78 1 0 if ($cmd =~ /^autotie((?:ref)?)$/) { }
79 0 1 $1 ? :
81 0 1 unless ref $mapping eq 'HASH'
85 0 3 unless $attr =~ /$qual_id/ and $tieclass =~ /$qual_id/ and eval "use base q\000$tieclass\000; 1"
86 0 3 if ($tieclass->isa('Exporter'))
91 2 1 unless $attr =~ /::/
92 0 3 unless eval '# line 92 "/root/.cpan/build/Attribute-Handlers-Clean-1.06-0/blib/lib/Attribute/Handlers/Clean.pm' . qq["\n sub $attr : ATTR(VAR) {\n my (\$ref, \$data) = \@_[2,4];\n my \$was_arrayref = ref \$data eq 'ARRAY';\n \$data = [ \$data ] unless \$was_arrayref;\n my \$type = ref(\$ref)||"value (".(\$ref||"").")";\n (\$type eq 'SCALAR') ?\n tie \$\$ref,'${tieclass}',$tiedata :\n (\$type eq 'ARRAY') ?\n tie \@\$ref,'${tieclass}',$tiedata :\n (\$type eq 'HASH') ?\n tie %\$ref,'${tieclass}',$tiedata :\n die "Can't autotie a \$type\n";\n } 1\n ]
95 0 1 unless $was_arrayref
1 0 unless $was_arrayref
0 1 unless $was_arrayref
97 0 0 $type eq 'HASH' ? :
1 0 $type eq 'ARRAY' ? :
0 1 $type eq 'SCALAR' ? :
0 0 $type eq 'HASH' ? :
0 0 $type eq 'ARRAY' ? :
1 0 $type eq 'SCALAR' ? :
1 0 $type eq 'HASH' ? :
0 1 $type eq 'ARRAY' ? :
0 1 $type eq 'SCALAR' ? :
137 0 21 unless $lastattr{'ref'}
138 0 21 unless my $sym = findsym(@lastattr{'pkg', 'ref'})
140 0 21 if $^W and not $name =~ /[A-Z]/
149 0 0 if $AUTOLOAD =~ /::DESTROY$/
151 0 0 unless $AUTOLOAD =~ /_ATTR_(.*?)_(.*)/
160 0 74 if &_delayed_name_resolution()
166 0 75 unless my($attr, $data) = /^([a-z_]\w*)(?:[(](.*)[)])?$/is
167 21 54 if ($attr eq 'ATTR') { }
171 2 19 if $data =~ s/\s*,?\s*(BEGIN)\s*,?\s*//
172 1 20 if $data =~ s/\s*,?\s*(INIT)\s*,?\s*//
173 1 20 if $data =~ s/\s*,?\s*(END)\s*,?\s*//
174 16 5 if $data =~ s/\s*,?\s*(CHECK)\s*,?\s*// or not keys %{$phase{$ref};}
176 0 21 if keys %lastattr
177 0 21 unless $validtype{$data}
179 21 0 unless &_delayed_name_resolution()
183 0 54 unless $handler
187 124 92 if $global_phases{$gphase} <= $global_phase
189 35 19 if ($global_phase != 0) { }
194 1 34 if $phase{$handler}{'END'}
201 0 74 if defined $_
208 128 53 unless $handlerphase->{$phase}
213 0 34 $type eq 'CODE' ? :
215 45 8 if (not $raw and defined $data)
216 45 0 if ($data ne '') { }
226 43 2 unless $@
233 19 34 ref $sym eq 'GLOB' ? :
247 0 4 if &_delayed_name_resolution()