Branch Coverage

blib/lib/Fukurama/Class/AttributesHandler.pm
Criterion Covered Total %
branch 36 46 78.2


line true false branch
157 1 0 unless (scalar %symbols or eval "use $attribute_class;return 1;")
162 41 14 unless *{$attribute_class . '::' . $name;}{'CODE'}
163 5 9 if ($$HELPER_METHODS{$name})
173 5 1 if $$check_methods_exist{$name}
176 1 5 if (scalar @missed_helper_methods)
202 0 15 if ($$ATT_METHODS{$name})
206 1 14 unless ($name =~ /^[A-Z]/)
214 7 7 unless $execute_register
231 12 20 if $$EXPORTED{$export_to_class}
256 4 30 if ($old and @unknown_attributes)
273 29 5 if ($LAST_ATTRIBUTE_METHOD and not $$LAST_ATTRIBUTE_METHOD{'resolved'})
275 29 0 unless ($$LAST_ATTRIBUTE_METHOD{'executed'})
283 6 32 unless ($handler)
287 0 32 if ($$SUBS{int $sub_ref})
308 0 32 if $$sub_data{'resolved'}
314 50 59 unless $$symbols{$key} and *{$$symbols{$key};}{'CODE'}
315 32 27 if (*{$$symbols{$key};}{'CODE'} == $$sub_data{'sub'})
329 0 38 unless ($name)
339 0 32 if $$sub_data{'executed'}
344 32 0 if ($att_class->$att_method($sub_data))
356 3 120 unless ($$entry{'executed'})
357 0 3 unless ('Fukurama::Class::AttributesHandler'->_resolve_sub($entry))
360 0 3 unless ('Fukurama::Class::AttributesHandler'->_exec_attribute($entry))