Branch Coverage

blib/lib/Data/ObjectStore.pm
Criterion Covered Total %
branch 303 304 99.6


line true false branch
42 1 66 if 0 == @options
44 34 32 if (1 == @options)
50 64 2 unless (ref $data_provider)
55 2 19 ref $options{'CACHE'} ? :
21 45 $options{'CACHE'} ? :
65 63 3 unless ($UPGRADING)
68 1 62 if ($store->get_store_version < 1.2)
82 1 1 if ($self->[5])
117 24 7 if not $keep{$_}
119 4 27 ref $d eq 'ARRAY' ? :
125 17 29 unless ($keep{$i})
138 1 2 if -e "$dest_path/RECORDSTORE"
148 1 1 if ($vers >= 2)
171 3 5 if ($obj)
183 3 2 unless (ref($clone_thing) =~ /^(ARRAY|HASH|Data::ObjectStore::Hash|Data::ObjectStore::Array)$/)
196 1 4 if (ref $odata eq 'ARRAY') { }
199 3 1 if ($oid > 0)
201 2 1 if ($oid != $id)
209 7 7 if ($odata->{$key} > 0)
212 5 2 if ($oid != $id)
240 29 111 unless ($root)
279 10 58 if (ref $class)
285 6 62 unless ($class =~ /^Data::ObjectStore::/)
314 24 144 if (ref $ref)
346 288 7158 unless (ref($thingy) =~ /^(ARRAY|HASH|Data::ObjectStore::Hash|Data::ObjectStore::Array)$/)
347 5 283 unless ($thingy->[5])
359 1 7440 $class_override ? :
371 1 2 unless ref $obj
373 1 1 $tied ? :
384 74618 463 if ($r)
385 71544 3074 if ($r eq 'ARRAY') { }
2093 981 elsif ($r eq 'HASH') { }
979 2 elsif ($r eq 'Data::ObjectStore::Array' or $r eq 'Data::ObjectStore::Hash' or $r->isa('Data::ObjectStore::Container')) { }
398 459 4 if ($item > 0)
412 29 319 unless ($node)
437 33 285 if (0 < grep({/\\$/;} @$pieces))
447 123 275 if ($part =~ /(^|[^\\])((\\\\)+)?[\\]$/) { }
95 180 elsif ($is_hanging) { }
448 28 95 if ($is_hanging) { }
477 62610 362 if $ref
480 44 318 unless $stowed
483 2 316 if $pos == -1
497 8 308 unless ($class =~ /^Data::ObjectStore::/)
503 2 3 unless ($class->can('_reconstitute'))
504 1 1 if ($force) { }
512 4 4 if ($@)
513 1 3 if ($force) { }
534 188 23258 if (ref $val)
538 22842 416 defined $val ? :
547 2018 6263 unless defined $val and $val ne 'u'
549 5419 844 if (index($val, 'v') == 0)
552 381 463 if ($val =~ /^r(\d+)/)
561 542 7001 if ($self->[5])
576 59381 16 if ($item)
599 1 3 unless $obj
606 1 3 unless $obj
618 62 134 if ($class eq 'ARRAY') { }
24 110 elsif ($class eq 'HASH') { }
620 46 16 unless ($thingy)
636 18 6 unless ($thingy)
656 3 123 unless $class eq 'Data::ObjectStore::Hash' or $class eq 'Data::ObjectStore::Array' or $ref->isa('Data::ObjectStore::Container')
706 151 6964 $self->[5] > $self->[7] ? :
707 7046 69 if ($stuff_count > 0)
708 6 28143 if (defined $_ and $_ =~ /[\\\`]/)
27792 357 defined $_ ? :
756 17281 32135 if ($idx >= $self->[7])
760 3868 28267 if ($self->[4] == 0)
825 61322 6975 if ($block_id > 0)
839 1736 5239 if ($block_idx >= $self->[5] - 1)
854 23 50983 if ($idx >= $self->[5] * $self->[6])
860 27410 23573 if ($idx >= $self->[7])
866 13810 37173 if ($self->[4] == 0)
868 2 13807 if ($xid > 0 and $xid < 3)
873 13781 26 if ($xold ne $xin)
896 2 8 if ($current_oversize > 0)
906 19 43 if ($idx >= $self->[7])
909 15 28 if ($self->[4] == 0)
922 20 3 if ($idx == $self->[7] - 1)
937 12 1 if ($self->[7] > 0)
949 32 56 unless @vals
955 1 22 if ($idx < 0)
965 2 19 unless $self->[7]
972 1 18 unless @vals
980 1 2999 unless (defined $offset)
986 1 2999 if ($offset < 0)
992 2 2998 if ($remove_length < 0)
996 1 2999 unless $remove_length or @vals
999 2163 836 if ($offset > $self->[7] - 1)
1003 13 2986 if ($remove_length > $self->[7] - $offset)
1015 18 2981 if ($new_size > $self->[6] * $self->[5])
1023 1946 1053 if ($self->[4] == 0)
1030 4 7641 if ($inid and $inid < 3)
1055 59 994 if ($remove_length)
1071 774 279 if (@vals)
1084 34 8 if ($bubble_size > 0)
1088 23 19 @vals > $BLOCK_SIZE - $block_off ? :
1096 87 2700 if ($remmy > @vals)
1164 6 3015 if ($_ =~ /[\\\`]/)
4 41 $self->[4] ? :
1181 42 34 unless ($buckets)
1184 4 72 $level ? :
1197 3 1 if ($self->[6] > 0)
1201 2 1 if ($self->[4] == 0) { }
1212 2 7 unless $self->EXISTS($key)
1219 5 2 if ($self->[4] == 0) { }
1238 3197 242 if ($self->[4] == 0) { }
1248 240 2 if ($hash_id > 0)
1262 1853 424 if ($self->[4] == 0) { }
1271 423 1 if ($hash)
1284 22 1535 if ($xid > 0)
1285 11 11 if ($xid < 3)
1294 1537 9 unless ($self->EXISTS($key))
1299 1516 30 if ($self->[4] == 0) { }
1301 1515 1 if ($xin ne $oldin)
1305 4 1511 if ($self->[6] > $Data::ObjectStore::Hash::MAX_SIZE)
1320 30 22 if ($hash) { }
1359 28 2 if ($hash_id > 0) { }
1384 187 26 if ($self->[4] == 0)
1387 158 29 wantarray ? :
1397 3437 2799 if ($lvl == 0) { }
1399 651 2786 wantarray ? :
1406 26 2773 if ($at_start)
1413 2148 651 unless ($hash)
1415 158 1990 if $hash_id > 1
1418 809 1990 if ($hash)
1420 158 651 $at_start ? :
1421 651 158 if (defined $k)
1423 0 651 wantarray ? :
1430 26 2122 if ($self->[7][0] > $#$data)
1476 7 1 if ref $_[1]
1477 2 1 unless not ref $_[1]
1478 2 1 if ref $_[1]
1479 2 1 unless not ref $_[1]
1489 4 43 if ($self->[0] > 2 and $inid > 0 and $inid < 3)
1495 406 1 if (not defined $self->[1]{$fld} or $oldval ne $inval)
1498 7 399 unless (defined $val)
1525 21 560 if (!defined($cur) || $cur eq 'u' and defined $default)
1527 2 14 if (ref $default and $self->[0] > 2 and $xid < 3)
1545 1 1 unless (@keys)
1555 6 6 if (defined $val)
1583 2 95 if ($func =~ /:add_to_(.*)/) { }
1 94 elsif ($func =~ /:add_once_to_(.*)/) { }
1 93 elsif ($func =~ /:remove_from_(.*)/) { }
1 92 elsif ($func =~ /:remove_all_from_(.*)/) { }
53 39 elsif ($func =~ /:set_(.*)/) { }
38 1 elsif ($func =~ /:get_(.*)/) { }
1603 2 7 unless (grep {$val eq $_;} @$arry)
1622 3 8 if ($arry->[$i] eq $val)
1643 7 16 if ($arry->[$i] eq $val)
1703 25 2037 if (defined $_ and $_ =~ /[\\\`]/)
2059 3 defined $_ ? :
1709 3 151 if ($cls ne 'Data::ObjectStore::Container')