Branch Coverage

blib/lib/Attribute/Handlers/Clean.pm
Criterion Covered Total %
branch 69 108 63.8


line true false branch
13 1 73 if $symcache{join $;, $pkg, $ref}
19 8 5385 if (ref $sym and $sym == $ref)
23 14 5371 unless ref \$sym eq 'GLOB'
25 31 5340 if *{$sym;}{$type} and *{$sym;}{$type} == $ref
65 0 7 @caller_1 && $caller_1[3] eq "$caller_0[0]::import" ? :
68 6 1 unless $caller eq $class or grep {$_ eq $class;} @{"${caller}::ISA";}
70 20 8 unless defined *{"${caller}::MODIFY_${_}_ATTRIBUTES";}
73 1 6 unless $class eq 'Attribute::Handlers::Clean'
76 1 0 if ($cmd =~ /^autotie((?:ref)?)$/) { }
77 0 1 $1 ? :
79 0 1 unless ref $mapping eq 'HASH'
83 0 3 unless $attr =~ /$qual_id/ and $tieclass =~ /$qual_id/ and eval "use base q\000$tieclass\000; 1"
84 0 3 if ($tieclass->isa('Exporter'))
89 2 1 unless $attr =~ /::/
90 0 3 unless eval '# line 90 "/root/.cpan/build/Attribute-Handlers-Clean-1.02-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 ]
93 0 1 unless $was_arrayref
0 1 unless $was_arrayref
1 0 unless $was_arrayref
95 1 0 $type eq 'HASH' ? :
0 1 $type eq 'ARRAY' ? :
0 1 $type eq 'SCALAR' ? :
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' ? :
135 0 21 unless $lastattr{'ref'}
136 0 21 unless my $sym = findsym(@lastattr{'pkg', 'ref'})
138 0 21 if $^W and not $name =~ /[A-Z]/
147 0 0 if $AUTOLOAD =~ /::DESTROY$/
149 0 0 unless $AUTOLOAD =~ /_ATTR_(.*?)_(.*)/
157 0 74 if &_delayed_name_resolution()
161 0 75 unless my($attr, $data) = /^([a-z_]\w*)(?:[(](.*)[)])?$/is
162 21 54 if ($attr eq 'ATTR') { }
166 2 19 if $data =~ s/\s*,?\s*(BEGIN)\s*,?\s*//
167 1 20 if $data =~ s/\s*,?\s*(INIT)\s*,?\s*//
168 1 20 if $data =~ s/\s*,?\s*(END)\s*,?\s*//
169 16 5 if $data =~ s/\s*,?\s*(CHECK)\s*,?\s*// or not keys %{$phase{$ref};}
171 0 21 if keys %lastattr
172 0 21 unless $validtype{$data}
174 21 0 unless &_delayed_name_resolution()
178 0 54 unless $handler
182 124 92 if $global_phases{$gphase} <= $global_phase
184 35 19 if ($global_phase != 0) { }
189 1 34 if $phase{$handler}{'END'}
196 0 74 if defined $_
203 128 53 unless $handlerphase->{$phase}
208 0 34 $type eq 'CODE' ? :
210 45 8 if (not $raw and defined $data)
211 45 0 if ($data ne '') { }
221 43 2 unless $@
228 19 34 ref $sym eq 'GLOB' ? :
242 0 4 if &_delayed_name_resolution()