Branch Coverage

blib/lib/DBM/Deep.pm
Criterion Covered Total %
branch 114 130 87.6


line true false branch
37 3071 2580 if (scalar @_ > 1) { }
2555 25 elsif (ref $_[0]) { }
38 2 3069 if (@_ % 2)
44 0 2553 unless %{$_[0];}
2 2553 unless (eval { do { local $SIG{'__DIE__'}; 1 unless %{$_[0];} } })
64 2110 603 if (defined $args->{'type'} and $args->{'type'} eq &TYPE_ARRAY()) { }
85 21 2913 if ($args->{'locking'})
95 393 2541 unless (exists $args->{'engine'})
98 5 388 exists $args->{'_test'} ? :
0 393 exists $args->{'dbi'} ? :
101 0 393 if $@
110 784 10948 unless exists $args->{$param}
120 15 2918 if ($@)
126 15 2903 if ($self->{'engine'}{'external_refs'} and my $sector = $self->{'engine'}->load_sector($self->{'base_offset'}))
166 0 4626 unless ($self->_engine)
183 39 32 if (not ref $value) { }
189 19 13 if ($r eq 'ARRAY') { }
13 0 elsif ($r eq 'HASH') { }
199 32 0 if (eval { do { local $SIG{'__DIE__'}; $tied->isa('DBM::Deep') } }) { }
204 0 0 if ($r eq 'ARRAY') { }
213 16 16 if (defined $c and not $c->isa('DBM::Deep'))
231 4 8 if (defined $classname)
244 36 61 if not defined $r or '' eq $r
245 31 30 if 'HASH' eq $r
246 27 3 if 'ARRAY' eq $r
254 51 12 unless ref $_[0]
260 2 10 unless ($type)
264 2 8 if (substr($type, 0, 1) ne $self->_type)
265 1 1 'HASH' eq $type ? :
1 1 'HASH' eq $type ? :
276 17 11 'HASH' eq &Scalar::Util::reftype($db) ? :
280 15 13 if ('HASH' eq $r) { }
13 0 elsif ('ARRAY' eq $r) { }
283 14 14 if ($r) { }
284 7 7 'HASH' eq $r ? :
285 5 9 if (my $c = &Scalar::Util::blessed($v))
300 6 20 if ($r) { }
301 2 4 'HASH' eq $r ? :
302 2 4 if (my $c = &Scalar::Util::blessed($v))
328 0 2 unless $self->_engine->isa('DBM::Deep::Engine::File')
362 0 2 if ($^O eq 'MSWin32' or $^O eq 'cygwin')
373 0 2 unless (rename $temp_filename, $self->_engine->storage->{'file'})
425 8 1 if ($is_legal_filter{$type})
448 2 275 if $e
462 2 12 if $e
475 2 10 if $e
505 119 55 if $caller[0] =~ /^DBM::Deep/
517 2 1797 unless ($self->_engine->storage->is_writable)
525 2 564 if (not ref $value and $self->_engine->storage->{'filter_store_value'})
532 12 1785 if (my $e = $@)
557 2 3131 $result && !ref($result) && $self->_engine->storage->{'filter_fetch_value'} ? :
567 1 59 unless ($self->_engine->storage->is_writable)
578 1 30 if (defined $value and not ref $value and $self->_engine->storage->{'filter_fetch_value'})
608 1 219 unless ($engine->storage->is_writable)
618 0 219 if $e and 0
622 1 218 if $e
642 12 3 if $pack =~ /^DBM::Deep(?:::|\z)/
643 0 3 if (defined &warnings::warnif_at_level) { }
650 2 1 if (vec $bitmask, $warnings::Offsets{$_[0]}, 1 or vec $bitmask, $warnings::Offsets{'all'}, 1)
653 0 2 $_[1] =~ /\n\z/ ? :
656 1 1 if vec $bitmask, $warnings::Offsets{$_[0]} + 1, 1 or vec $bitmask, $warnings::Offsets{'all'} + 1, 1
665 15 0 if (my $sector = $self->{'engine'}->load_sector($self->{'base_offset'}))
673 2850 2926 if (not $alter_ego or $self != $alter_ego)
678 1 2925 unless $self->{'engine'}
679 15 2910 if ($self->{'engine'}{'external_refs'})