Condition Coverage

blib/lib/File/KeePass/KDBX.pm
Criterion Covered Total %
condition 55 113 48.6


and 3 conditions

line !l l&&!r l&&r condition
33 6 3 0 @_ == 1 and (&blessed($_[0]) // "") eq "File::KeePass::KDBX"
35 6 3 0 @_ == 1 and &blessed($_[0])
9 0 0 @_ == 1 and &blessed($_[0]) and $_[0]->isa("File::KeePass")
39 6 3 0 @_ == 1 and &blessed($_[0])
9 0 0 @_ == 1 and &blessed($_[0]) and $_[0]->isa("File::KDBX")
201 6 0 0 $head and $head->{'reuse_header'}
217 7 1 0 $head and $head->{'reuse_header'}
237 0 14 0 $reuse and $reuse < 0
310 236 29 38 @tests and grep {not &$_($g);} @tests
350 2 0 5 not $parent and $self->kdbx->_has_implicit_root
366 10 22 16 @tests and grep {not &$_($e);} @tests
408 0 2 2 defined $_[0]{$field} && $_[0]{$field} =~ /$args->{$key}/
435 0 0 0 defined $id and length $id
516 0 0 0 length $_ != 16 and &looks_like_number($_)

or 2 conditions

line l !l condition
33 0 3 &blessed($_[0]) // ""
119 0 2 shift() || {}
225 1 13 shift() || {}
233 14 0 $self->header || {}
236 0 0 $head->{'version'} || '1'
301 150 153 $level || 0
303 303 0 $g->{'icon'} ||= 0
452 10 4 $self->{'auto_lock'} //= 1
482 1262 0 shift() // \my %h
486 1251 11 $TIED{$self} //= {}
514 0 0 shift() // (return)
522 0 0 shift() // (return)
528 0 0 shift() // (return)

or 3 conditions

line l !l&&r !l&&!r condition
94 409 11 0 $KDBX{$self} //= do { require File::KDBX; "File::KDBX"->new }
157 0 0 0 $sig2 == 3041655653 or $version < 131072
227 1 13 0 $head->{'version'} || $self->header->{'version'}
231 0 14 0 $head->{'reuse_header'} || !exists $head->{'reuse_header'} && ($self->{'reuse_header'} || !exists $self->{'reuse_header'})
236 14 0 0 $v ||= $head->{'version'} || '1'
252 24 8 0 $self->{'header'} //= $self->_tie({}, "Header", $self->kdbx)
259 65 10 0 $self->{'groups'} //= $self->_tie([], "GroupList", $self->kdbx)
285 0 35 0 $group->{'expires'} //= $self->default_exp
299 366 73 0 $groups || $self->groups
307 0 0 303 not defined $g->{'id'} or $uniq{$g->{'id'}}++
347 2 5 0 $entry->{'expires'} //= $self->default_exp
411 79 12 32 !$op || $op eq '='
423 0 2 0 $time || time
436 0 0 0 $uniq->{$id} ||= do { if (length $id != 16) { $id = substr($self->encode_base64($id), 0, 16) if not $id =~ /^\d+$/ or $id > 4294967295; $id = sprintf("%016s", $id) if $id ne 0; } ; $id = $self->gen_uuid while $uniq->{$id}++; $id }
438 0 0 0 not $id =~ /^\d+$/ or $id > 4294967295