Branch Coverage

blib/lib/Yote.pm
Criterion Covered Total %
branch 134 240 55.8


line true false branch
179 0 4 unless ref $self
181 1 3 unless ($root)
221 0 0 unless $r
222 0 0 if ($r eq 'ARRAY') { }
0 0 elsif ($r eq 'HASH') { }
252 0 0 if (ref $obj)
291 0 48 unless $id
296 5 43 if (defined $ref) { }
300 1 42 if ($ref)
307 37 5 if ($obj_arry)
309 11 26 if ($class eq 'ARRAY') { }
9 17 elsif ($class eq 'HASH') { }
325 17 0 unless ($INC{$class})
330 0 17 if $@
355 21 10 if $has_keep
364 3 2 if ($do_purge) { }
386 1 1 if (-e $backdir)
388 0 1 if (-d $oldback)
392 0 1 unless move($backdir, $oldback)
395 0 2 if (-x $newdir)
404 4 8 if ($has_keep) { }
3 5 elsif ($self->{'_DATASTORE'}{'DATA_STORE'}->has_id($keep_id)) { }
415 0 2 unless move($original_dir, $backdir)
416 0 2 unless move($newdir, $original_dir)
443 4 6 if ($ref eq 'ARRAY' or $ref eq 'Yote::Array') { }
1 5 elsif ($ref eq 'HASH' or $ref eq 'Yote::Hash') { }
467 0 0 if ($ref eq 'ARRAY' or $ref eq 'Yote::Array') { }
0 0 elsif ($ref eq 'HASH' or $ref eq 'Yote::Hash') { }
499 6 0 unless $INC{$pkg}
536 0 40 unless $class
538 0 40 if ($class eq 'Yote::Array') { }
14 26 elsif ($class eq 'ARRAY') { }
0 26 elsif ($class eq 'Yote::Hash') { }
4 22 elsif ($class eq 'HASH') { }
543 12 2 if ($tied)
561 3 1 if ($tied)
578 19 3 if $ref->{'ID'}
579 0 3 if ($class eq 'Yote::Root') { }
594 0 5 unless $class
596 0 5 unless $id
600 2 3 if ($class eq 'ARRAY') { }
0 3 elsif ($class eq 'HASH') { }
0 3 elsif ($class eq 'Yote::Array') { }
0 3 elsif ($class eq 'Yote::Hash') { }
609 0 0 if ($self->_is_dirty($id))
614 0 0 if ($child =~ /^[0-9]/ and $self->{'_DIRTY'}{$child})
620 0 0 if ($self->_is_dirty($id))
625 0 0 if ($child =~ /^[0-9]/ and $self->{'_DIRTY'}{$child})
631 3 0 if ($self->_is_dirty($id))
636 0 2 if ($val =~ /^[0-9]/ and $self->{'_DIRTY'}{$val})
646 6 10 if (ref $val)
649 10 0 defined $val ? :
654 0 44 unless defined $val
655 8 36 if (index($val, 'v') == 0)
668 0 3 ref $obj ? :
679 0 15 unless $class
681 0 15 unless $id
683 6 9 if ($class eq 'ARRAY') { }
1 8 elsif ($class eq 'HASH') { }
0 8 elsif ($class eq 'Yote::Array') { }
0 8 elsif ($class eq 'Yote::Hash') { }
685 6 0 if ($tied) { }
694 1 0 if ($tied) { }
711 6 9 if ($is_array)
712 16 84 if (defined $_)
714 26 0 if (defined $_)
721 0 40 unless $ref
765 0 0 if ref $_[1]
766 0 0 unless not ref $_[1]
767 0 0 if ref $_[1]
768 0 0 unless not ref $_[1]
801 0 0 if ($self->{'DATA'}{$fld} ne $inval)
805 0 0 unless (defined $inval)
823 0 0 if (not defined $cur and defined $default)
824 0 0 if (ref $default)
846 1 9 if ($func =~ /:add_to_(.*)/) { }
0 9 elsif ($func =~ /:add_once_to_(.*)/) { }
0 9 elsif ($func =~ /:remove_from_(.*)/) { }
0 9 elsif ($func =~ /:remove_all_from_(.*)/) { }
1 8 elsif ($func =~ /:set_(.*)/) { }
8 0 elsif ($func =~ /:get_(.*)/) { }
866 0 0 unless (grep {$val eq $_;} @$arry)
883 0 0 if ($arry->[$i] eq $val)
904 0 0 if ($arry->[$i] eq $val)
907 0 0 unless $count
922 1 0 if $self->{'DATA'}{$fld} ne $inval
923 0 1 unless (defined $inval)
937 1 23 if (not defined $self->{'DATA'}{$fld} and defined $init_val)
938 1 0 if (ref $init_val)
999 4 0 if (ref $data eq 'HASH') { }
0 0 elsif ($data) { }
1156 0 0 wantarray ? :
1161 0 0 wantarray ? :
1219 0 4 if ($@)
1220 0 0 if ($@ =~ /old format/)
1243 5 69 unless $data
1246 0 69 if $pos == -1
1247 0 69 if $pos == -1
1258 9 60 if (0 < grep({/\\$/;} @$parts))
1267 54 72 if ($part =~ /(^|[^\\])((\\\\)+)?[\\]$/) { }
36 36 elsif ($is_hanging) { }
1268 18 36 if ($is_hanging) { }
1285 0 9 if ($is_hanging)
1291 19 50 if ($class eq 'ARRAY') { }
1352 8 24 if (ref $item->[2] eq 'ARRAY') { }
1353 2 18 if /^[^v]/
1355 20 24 if /^[^v]/
1357 0 32 if (@checks > 1000000)
1360 0 0 unless ($has_keep)
1366 0 32 if (scalar keys %seen > 1000000)
1391 2 15 unless ($keep)
1392 2 0 if ($self->{'DATA_STORE'}->delete($check_id))
1393 2 0 if ($keep_tally)
1408 2 3 unless $mark_to_keep_store->entry_count > 0
1417 3 1 if ($keep)
1430 1 17 unless ($keep)
1445 0 26 if $cand == 1 and not $keep
1446 2 24 unless ($keep)
1447 0 2 if ($self->{'DATA_STORE'}->delete($cand))
1449 0 0 if ($keep_tally)