Condition Coverage

blib/lib/DBIx/Class/ResultSet/RecursiveUpdate.pm
Criterion Covered Total %
condition 90 130 69.2


and 3 conditions

line !l l&&!r l&&r condition
18 56 1 5 defined $attrs and ref $attrs eq 'HASH'
56 0 1 defined $attrs and ref $attrs eq 'ARRAY'
66 213 2 0 defined $fixed_fields and ref $fixed_fields ne 'ARRAY'
80 215 0 0 &blessed($updates) and $updates->isa('DBIx::Class::Row')
87 138 0 138 exists $updates->{$colname} and defined $updates->{$colname}
92 80 0 58 exists $resolved->{$colname} and defined $resolved->{$colname}
107 137 0 78 scalar keys %pk_kvs != scalar @pks and @non_pk_columns
126 329 12 12 $accessor_name ne $colname and exists $non_rel_updates{$accessor_name}
144 0 71 6 $row->can($colname) and defined $row->$colname
164 85 50 80 not defined $object and scalar keys %pk_kvs == scalar @pks
179 89 50 76 not defined $object and scalar keys %all_pks == scalar @pks
209 257 98 56 $source->has_relationship($name) && ref $updates->{$name}
85 56 355 exists $columns_by_accessor{$name} and not $source->has_relationship($name) && ref $updates->{$name}
235 2 5 17 not $m2m_force_set_rel and $source->result_class->can('_m2m_metadata')
258 3 0 2 $object->can($name) and not $source->has_relationship($name)
316 0 0 7 defined $value and ref $value eq 'ARRAY'
0 0 0 defined $value and not ref $value
326 16 0 0 &blessed($elem) and $elem->isa('DBIx::Class::Row')
427 0 77 41 defined $DBIx::Class::ResultSource::UNRESOLVABLE_CONDITION and $DBIx::Class::ResultSource::UNRESOLVABLE_CONDITION == $resolved
488 76 0 66 exists $sub_updates->{$colname} and defined $sub_updates->{$colname}
521 24 0 52 exists $resolved->{$colname} and defined $resolved->{$colname}
538 62 0 23 scalar keys %pk_kvs != scalar @pks and @non_pk_columns
557 91 10 10 $accessor_name ne $colname and exists $non_rel_updates{$accessor_name}
576 0 22 2 $related_row->can($colname) and defined $related_row->$colname
631 33 28 2 not defined $related_object and &any(sub { $resolved->{$_} ne $current_data{$_}; } , keys %$resolved)
724 58 0 10 &blessed($updates) and $updates->isa('DBIx::Class::Row')
38 19 1 $attrs->{'accessor'} eq 'single' and defined $related_row
748 0 0 1 exists $attrs->{'join_type'} and $attrs->{'join_type'} eq 'LEFT'
0 0 1 not $updates and (exists $attrs->{'join_type'} and $attrs->{'join_type'} eq 'LEFT')
755 0 8 57 ($attrs->{'accessor'} eq 'single' || $attrs->{'accessor'} eq 'filter') && $attrs->{'is_foreign_key_constraint'}
759 0 0 65 $sub_object || $updates || $might_belong_to || $join_type eq 'LEFT' and ref $info->{'cond'} ne 'CODE'
782 6 121 152 $object->can($relation) and not $self->result_source->has_relationship($relation)
127 142 10 $object->can($relation) and not $self->result_source->has_relationship($relation) and $object->can('set_' . $relation)
808 0 0 0 $object->result_source->column_info($col)->{'is_auto_increment'} and !defined($object->{'_column_data'}{$col}) || $object->{'_column_data'}{$col} eq ''

or 2 conditions

line l !l condition
55 118 97 $resolved ||= {}
751 12 53 $attrs->{'join_type'} || ''

or 3 conditions

line l !l&&r !l&&!r condition
115 3 61 119 is_m2m($self, $_) || $source->has_relationship($_)
300 130 0 75 $object->is_changed or keys %other_methods
358 72 1223 0 $info->{'accessor'} or $name
460 28 41 0 $attrs->{'accessor'} eq 'single' or $attrs->{'accessor'} eq 'filter'
546 2 6 35 is_m2m($related_resultset, $_) || $related_result_source->has_relationship($_)
639 33 2 50 defined $related_object or $relink
759 2 0 0 $sub_object || $updates || $might_belong_to || $join_type eq 'LEFT'
808 0 0 0 !defined($object->{'_column_data'}{$col}) || $object->{'_column_data'}{$col} eq ''