Condition Coverage

blib/lib/DBIx/Class/ResultSet/RecursiveUpdate.pm
Criterion Covered Total %
condition 86 124 69.3


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 215 2 0 defined $fixed_fields and ref $fixed_fields ne 'ARRAY'
80 217 0 0 &blessed($updates) and $updates->isa('DBIx::Class::Row')
87 140 0 139 exists $updates->{$colname} and defined $updates->{$colname}
92 80 2 58 exists $resolved->{$colname} and defined $resolved->{$colname}
107 137 0 80 scalar keys %pk_kvs != scalar @pks and @non_pk_columns
126 343 12 12 $accessor_name ne $colname and exists $non_rel_updates{$accessor_name}
144 0 73 6 $row->can($colname) and defined $row->$colname
164 44 51 122 not defined $object and scalar keys %pk_kvs == scalar @pks
179 48 51 118 not defined $object and scalar keys %all_pks == scalar @pks
209 261 98 56 $source->has_relationship($name) && ref $updates->{$name}
87 56 359 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')
256 3 0 2 $object->can($name) and not $source->has_relationship($name)
320 0 0 7 defined $value and ref $value eq 'ARRAY'
0 0 0 defined $value and not ref $value
330 16 0 0 &blessed($elem) and $elem->isa('DBIx::Class::Row')
434 0 79 41 defined $DBIx::Class::ResultSource::UNRESOLVABLE_CONDITION and $DBIx::Class::ResultSource::UNRESOLVABLE_CONDITION == $resolved
492 77 0 67 exists $sub_updates->{$colname} and defined $sub_updates->{$colname}
498 24 1 52 exists $resolved->{$colname} and defined $resolved->{$colname}
515 62 0 24 scalar keys %pk_kvs != scalar @pks and @non_pk_columns
534 96 10 10 $accessor_name ne $colname and exists $non_rel_updates{$accessor_name}
553 0 23 2 $related_row->can($colname) and defined $related_row->$colname
661 59 0 10 &blessed($updates) and $updates->isa('DBIx::Class::Row')
38 18 3 $attrs->{'accessor'} eq 'single' and defined $object->$name
686 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')
693 0 8 58 ($attrs->{'accessor'} eq 'single' || $attrs->{'accessor'} eq 'filter') && $attrs->{'is_foreign_key_constraint'}
697 0 0 66 $sub_object || $updates || $might_belong_to || $join_type eq 'LEFT' and ref $info->{'cond'} ne 'CODE'
718 6 124 155 $object->can($relation) and not $self->result_source->has_relationship($relation)
130 145 10 $object->can($relation) and not $self->result_source->has_relationship($relation) and $object->can('set_' . $relation)
744 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 120 97 $resolved ||= {}
689 12 54 $attrs->{'join_type'} || ''

or 3 conditions

line l !l&&r !l&&!r condition
115 3 63 121 is_m2m($self, $_) || $source->has_relationship($_)
297 132 0 75 $object->is_changed or keys %other_methods
362 72 1282 0 $info->{'accessor'} or $name
467 29 41 0 $attrs->{'accessor'} eq 'single' or $attrs->{'accessor'} eq 'filter'
523 2 7 36 is_m2m($related_resultset, $_) || $related_result_source->has_relationship($_)
697 2 0 0 $sub_object || $updates || $might_belong_to || $join_type eq 'LEFT'
744 0 0 0 !defined($object->{'_column_data'}{$col}) || $object->{'_column_data'}{$col} eq ''