Branch Coverage

blib/lib/Class/Inflate.pm
Criterion Covered Total %
branch 124 204 60.7


line true false branch
22 2 0 if @args
48 2 4 unless $class->isa('Class::Inflate') and &{$class->can('ima_generator');}
66 2 0 unless (defined *{"${target_class}::$accessor";}{'CODE'})
80 3 0 ref $self ? :
91 6 3 if (exists $$persist{$$sql{'table'}}{'join'} and keys %{$$persist{$$sql{'table'}}{'join'};}) { }
94 2 4 if (@data and $rows_fetched{$table}) { }
109 3 6 if (@data and $awaiting_join{$$sql{'table'}})
114 4 3 unless exists $awaiting_join{$waiting}
128 3 0 ref $self ? :
132 3 0 if wantarray
141 0 3 unless UNIVERSAL::isa($filter, 'HASH')
160 3 6 exists $$filter_values{$table} ? :
162 6 3 if ($has_external_filter) { }
172 0 6 if $table eq $external
189 6 6 if $external eq $table
191 6 0 exists $$persist{$table}{'key'} ? :
194 5 1 exists $$persist{$table}{'join'} ? :
197 4 2 if @$path
202 0 2 if @$path
206 2 4 if (not @paths and exists $$persist{$external}{'join'})
211 1 1 if @$path
216 0 1 if @$path
219 1 1 unless (@paths)
223 1 0 if @$path
228 0 1 if @$path
230 1 0 if (@paths)
239 1 5 if ($middle_join) { }
247 1 6 if ($middle_join and $from eq $external) { }
257 1 7 $step eq $table ? :
258 1 7 unless exists $table_alias{$t}
259 7 1 unless grep {$_ eq $t . ' ' . $table_alias{$t};} @tables
261 7 1 exists $$persist{$from}{'join'}{$step} ? :
266 0 1 if ($filter_item eq $join_from . ' = ' . $join_to or $filter_item eq $join_to . ' = ' . $join_from)
271 0 7 if ($seen)
284 0 6 unless (@paths)
291 6 7 if (exists $$filter_values{$external})
308 3 0 if (exists $$filter_values{$table})
316 0 9 if (keys %$table_filter)
317 0 0 $alias ? :
324 0 9 unless @filter
335 6 3 $alias ? :
336 9 0 if (exists $join_fields{$table})
339 0 14 unless (exists $current{$alias . $field})
350 9 0 defined $_ ? :
352 3 0 if wantarray
363 9 9 if $c >= @$fields
368 0 9 if (UNIVERSAL::isa($value, 'ARRAY')) { }
369 0 0 if (@$value == 0) { }
0 0 elsif (@$value > 1) { }
396 8 7 unless (defined $element)
401 5 2 if ($match) { }
405 0 2 if (grep {/^$element$/;} @{$$iterators[$c][1];}) { }
424 7 3 if @possible
439 7 6 unless @path
440 5 1 exists $$table_instructions{'join'} && exists $$table_instructions{'join'}{$path[$element]} ? :
451 1 1 unless @{$$fpath[1];}
453 1 1 unless @{$$rpath[1];}
464 1 0 if ($element eq $$fqueue[-1])
466 0 1 if ($returned{$element})
474 0 1 if (@multiple)
494 0 15 unless (exists $$method_tables{$method})
499 6 9 if exists $fields{$table}
504 3 12 if (ref $field) { }
505 3 0 if (ref $field eq 'HASH' and exists $$field{'fields'})
506 3 0 ref $$field{'fields'} eq 'ARRAY' ? :
512 0 9 unless @fields
514 6 3 if (exists $$persist{$table}{'join'})
518 6 0 unless (exists $selected{$field})
540 3 0 if (UNIVERSAL::can($filter, $method))
542 0 3 unless (defined $value and length $value)
548 0 3 unless (exists $$method_tables{$method})
559 0 3 if (ref $field) { }
560 0 0 if (ref $field eq 'HASH' and exists $$field{'fields'})
561 0 0 ref $$field{'fields'} eq 'ARRAY' ? :
562 0 0 exists $$field{'deflate'} ? :
563 0 0 if (UNIVERSAL::can($filter, $method)) { }
571 3 0 if (UNIVERSAL::can($filter, $method)) { }
577 0 3 unless (@field == @value)
597 0 9 if (exists $$persist{$table}{'filter'} and keys %{$$persist{$table}{'filter'};})
600 0 0 if exists $$filter_values{$table}
603 0 0 unless (exists $seen{$field})
619 9 0 if ($dbh and my $sth = $dbh->prepare($query))
620 9 0 defined $_ ? :
621 9 0 if ($sth->execute(@$bind))
628 9 0 if wantarray
658 84 0 defined $_ ? :
660 42 0 if (exists $parent{$identifier})
682 3 8 unless @$data
695 8 32 if (ref $field) { }
696 8 0 if (ref $field eq 'HASH' and exists $$field{'fields'}) { }
0 0 elsif (ref $field eq 'HASH') { }
698 8 0 ref $$field{'fields'} eq 'ARRAY' ? :
699 8 0 if (UNIVERSAL::can($object, $method)) { }
702 0 96 if (exists $$field{'inflate'}) { }
708 96 0 defined $$record{$field} ? :
711 8 0 if ($$field{'forceref'} or $$field{'wantref'} and @values > 1) { }
716 0 8 if (exists $$field{'postinflate'})
723 0 0 if (exists $$field{'inflate'})
730 0 0 if (exists $$field{'postinflate'})
735 32 0 if (UNIVERSAL::can($object, $method)) { }
739 48 0 defined $$record{$field} ? :
748 0 8 if @postinflate