Condition Coverage

blib/lib/Elive/DAO.pm
Criterion Covered Total %
condition 22 179 12.2


and 3 conditions

line !l l&&!r l&&r condition
102 218 0 0 not defined $data and ref $class
105 0 0 218 $data and Elive::Util::_reftype($data)
174 0 0 59 $entity_class and $from
0 0 59 $entity_class and $from and not ref $from
0 0 59 $entity_class and $from and not ref $from and $to
0 0 59 $entity_class and $from and not ref $from and $to and not ref $to
334 2 1 54 defined $v1 and defined $v2
374 0 2 2 defined $v1 && defined $v2 && $v1 <=> $v2
604 0 0 0 &Scalar::Util::blessed($struct) and $struct->can('_is_copy')
631 0 0 0 $connection and $struct->can('connection')
633 0 0 0 not $opt{'copy'} and $struct->can('url')
0 0 0 not $opt{'copy'} and $struct->can('url') and my $obj_url = $struct->url($connection)
645 0 0 0 not $opt{'overwrite'} and $cached->is_changed
674 0 0 0 &Scalar::Util::blessed($data_copy) and $data_copy->can('_db_data')
868 0 0 0 $col and defined $data{$col}
968 0 0 0 exists $$updates{$_} and exists $$row{$_}
1079 0 0 0 defined $old_val and not defined $data{$_}
1317 0 0 0 $data and Elive::Util::_reftype($data) eq 'HASH'
1441 0 0 0 $vals and Elive::Util::_reftype($vals) ne 'ARRAY'
1509 0 0 0 @vals and @key_cols
1613 0 0 0 length $_ > 10 and not /-/
1630 112 0 0 $aliases and $$aliases{$method}
112 0 0 $aliases and $$aliases{$method} and my $alias_to = $$aliases{$method}{'to'}
1645 0 0 0 $class and $method
1667 0 0 0 not $REVERTING and my(@changed) = $self->is_changed
0 0 0 not $REVERTING and my(@changed) = $self->is_changed and not $self->_deleted

or 2 conditions

line l !l condition
65 0 0 $$aliases{$_}{'to'} || die("$class has malformed alias: $_")
381 0 54 $class->debug || 0
696 0 0 $db_data ||= {}
699 0 0 $class->property_types || {}
816 0 0 shift() || ''
876 0 0 Elive::Util::_reftype($val) || 'Scalar'
1392 0 0 $db_query ||= {}
1663 0 0 $self->_db_data || '(null)'
0 318 $self->debug || 0
1674 0 0 $self->debug || 0

or 3 conditions

line l !l&&r !l&&!r condition
311 223 998 0 $order{$_} ||= ++$rank
341 33 3 18 $array_type or $type_info->is_struct
345 33 3 0 $array_type || $type
499 0 0 0 shift() || $class->connection
522 0 0 0 shift() || $self->connection
572 0 0 0 delete $opt{'connection'} || $class->connection
607 0 0 0 $opt{'copy'} ||= $struct->_is_copy
695 0 0 0 $db_data ||= $class
706 0 0 0 $$property_types{$_} || $param_types{$_}
806 0 0 0 $entity_data || $db_data
856 0 0 0 $prop_key_map{$key} || $key
1018 0 0 0 Elive::Util::_tainted($new) or Elive::Util::_tainted($old)
1021 0 0 0 defined $new != defined $old or $self->_cmp_col($type, $new, $old)
1068 0 0 0 ref $self || $self
1072 0 0 0 ref $self || $self
1174 0 0 0 $opt{'connection'} || $class->connection
1182 0 0 0 $opt{'command'} || 'create' . $class->entity_name
1304 0 0 0 $opt{'command'} || 'update' . $self->entity_name
1366 0 0 0 $opt{'connection'} || $class->connection
1369 0 0 0 $class->collection_name || $class->entity_name
1374 0 0 0 $opt{'command'} || 'list' . $collection_name
1397 0 0 0 $opt{'connection'} || $class->connection
1400 0 0 0 $opt{'command'} || 'get' . $class->entity_name
1452 0 0 0 $opt{'connection'} || $class->connection
1544 0 0 0 $opt{'command'} || 'delete' . $self->entity_name
1613 0 0 0 /^0+$/ or length $_ > 10 and not /-/
0 0 0 /^0+$/ or length $_ > 10 and not /-/ or Carp::carp("doesn't look like a hi-res date: $_")