Branch Coverage

blib/lib/DBM/Deep/Engine/File.pm
Criterion Covered Total %
branch 134 172 77.9


line true false branch
64 405 0 unless exists $args->{'storage'}
86 7 397 if (defined $args->{'pack_size'})
87 5 2 if (lc $args->{'pack_size'} eq 'small') { }
1 1 elsif (lc $args->{'pack_size'} eq 'medium') { }
1 0 elsif (lc $args->{'pack_size'} eq 'large') { }
103 3734 710 unless exists $args->{$param}
114 12 1200 if (not defined $self->{$attr} && length $self->{$attr} or $self->{$attr} =~ /\D/ or $self->{$attr} < $c->{'floor'}) { }
3 1197 elsif ($self->{$attr} > $c->{'ceil'}) { }
119 3 9 unless defined $self->{$attr}
129 403 1 unless ($self->{'digest'})
142 1 3876 unless my $sector = $self->load_sector($obj->_base_offset)
145 0 3876 if ($sector->staleness != $obj->_staleness)
156 91 3785 unless ($value_sector)
168 0 12 unless my $sector = $self->load_sector($obj->_base_offset)
171 0 12 if ($sector->staleness != $obj->_staleness)
183 0 29 unless my $sector = $self->load_sector($obj->_base_offset)
186 0 29 if ($sector->staleness != $obj->_staleness)
197 0 29 unless ($value_sector)
210 6 23 if ($value_sector->isa('DBM::Deep::Sector::File::Reference')) { }
235 1 126 unless my $sector = $self->load_sector($obj->_base_offset)
238 0 126 if ($sector->staleness != $obj->_staleness)
248 59 67 $data ? :
255 1 65 unless my $sector = $self->load_sector($obj->_base_offset)
258 0 65 if ($sector->staleness != $obj->_staleness)
274 1653 1234 if $r eq ""
275 178 1056 if $r eq "HASH"
276 1051 5 if $r eq "ARRAY"
284 1 2881 unless my $sector = $self->load_sector($obj->_base_offset)
287 0 2881 if ($sector->staleness != $obj->_staleness)
292 58 2823 if (not defined $value) { }
3 2820 elsif (ref $value eq 'DBM::Deep::Null') { }
1226 1594 elsif ($r eq 'ARRAY' or $r eq 'HASH') { }
304 1051 175 if ($r eq 'ARRAY') { }
175 0 elsif ($r eq 'HASH') { }
310 1017 209 if ($tmpvar)
313 4 1013 unless ($is_dbm_deep)
317 0 1013 unless ($tmpvar->_engine->storage == $self->storage)
328 1 1012 if (defined $loc and $loc == $tmpvar->_base_offset)
348 0 1594 if (tied $value)
378 404 2560 unless ($obj->_base_offset)
382 300 99 if ($bytes_read) { }
403 0 300 unless ($initial_reference)
407 6 294 unless ($obj->_type eq $initial_reference->type)
425 0 275 unless ($self->supports("transactions"))
429 1 274 if ($self->trans_id)
436 32132 274 if $slots[$i]
443 0 274 unless ($found)
448 0 274 unless ($self->trans_id)
459 0 12 unless ($self->supports("transactions"))
463 1 11 unless ($self->trans_id)
481 27 12 if ($data_loc > 1)
501 0 10 unless ($self->supports("transactions"))
505 1 9 unless ($self->trans_id)
529 11 24 if ($head_loc > 1)
617 0 1209 unless $trans_id
639 0 20 unless $trans_id
696 254 2 if (exists $locs->{$old_loc})
778 99 308 unless length $buffer
784 1 307 unless ($file_signature eq $self->SIG_FILE)
789 2 305 unless ($sig_header eq $self->SIG_HEADER)
794 2 303 if ($file_version < $min_file_version)
803 0 303 if ($file_version > $this_file_version)
817 0 303 if (@values != 4 or grep {not defined $_;} @values)
822 0 303 if ($values[3] != $self->{'num_txns'})
836 0 303 unless ($size == $header_var)
848 2 4 if $_[0] == 4
849 2 2 if $_[0] == 3
850 0 2 if $_[0] == 2
851 2 0 if $_[0] == 1
852 0 0 if $_[0] == 0
868 8004 5 if $self->{'v'} >= 4
958 7368 677 unless ($loc)
1016 399 4727 unless (exists $self->{'txn_bitfield_len'})
1018 385 14 if ($temp > int $temp)
1055 305 2 if ($feature eq "transactions")
1058 1 1 if $feature eq "singletons"
1059 1 0 if $feature eq "unicode"
1064 1 1 $_[0]{'v'} == 3 ? :
1071 0 220 unless my $sector = $self->load_sector($obj->_base_offset)
1074 0 220 unless $sector->staleness == $obj->_staleness
1123 9 0 unless ($loc)
1138 0 11 if (not $sector) { }
1141 0 0 if (exists $sectors{$type}{$spot})
1153 6 5 if ($sector->type =~ /^[DU]\z/) { }
3 2 elsif ($sector->type eq 'A' or $sector->type eq 'H') { }
2 0 elsif ($sector->type eq 'B') { }