Branch Coverage

blib/lib/File/KeePass/KDBX.pm
Criterion Covered Total %
branch 109 174 62.6


line true false branch
26 0 3 if $INC{'File/KeePass.pm'}
34 0 9 if @_ == 1 and (&blessed($_[0]) // "") eq "File::KeePass::KDBX"
36 0 3 if (@_ == 1 and &blessed($_[0]) and $_[0]->isa("File::KeePass"))
40 0 3 if (@_ == 1 and &blessed($_[0]) and $_[0]->isa("File::KDBX"))
46 3 6 ref $_[0] ? :
48 0 9 if exists $args->{'kdbx'}
76 0 0 if $kdbx
90 0 420 unless ref $self
91 0 420 if (@_)
118 2 4 unless my $file = shift()
119 2 2 unless my $pass = shift()
122 0 2 unless open my $fh, "<:raw", $file
130 0 10 ref $buf ? :
132 0 10 unless open my $fh, "<:raw", $ref
139 0 12 unless ref $self
141 2 10 defined $args->{'auto_lock'} ? :
144 4 8 if $unlock
152 0 0 unless open my $fh, "<:raw", \$buf
158 0 0 if ($sig2 == 3041655653 or $version < 131072)
183 0 0 if $type == "end"
184 0 0 unless $header_transform{$type}
185 0 0 $filter ? :
194 2 8 unless $file
195 2 6 unless $pass
197 6 0 if @_ % 2 == 1
202 0 0 if $head and $head->{'reuse_header'}
211 2 8 unless $pass
213 1 7 if @_ % 2 == 1
218 0 1 if $head and $head->{'reuse_header'}
233 14 0 if ($reuse)
238 0 14 if $reuse and $reuse < 0
240 0 14 if ($head->{'version'} == 1)
252 2 32 unless exists $KDBX{$self}
259 4 75 unless exists $KDBX{$self}
268 0 0 if /^(group_(.+))$/
271 5 58 $g->{'expanded'} ? :
284 20 15 if ref $parent
303 0 303 unless defined $g->{'title'}
305 0 303 if ($self->{'force_v2_gid'}) { }
311 265 38 unless (@tests and grep {not &$_($g);} @tests)
313 2 263 if $self->{'__group_groups'}
315 303 0 if $g->{'groups'}
324 2 34 if wantarray
326 2 34 if @g > 1
327 2 32 wantarray ? :
335 0 5 unless my $group = $self->find_group($group_info)
346 2 5 if ref $parent
351 5 2 if not $parent and $self->kdbx->_has_implicit_root
360 2 85 if $args->{'active'}
364 0 169 unless $g->{'entries'}
367 32 16 unless (@tests and grep {not &$_($e);} @tests)
369 4 28 if $self->{'__entry_groups'}
380 4 16 if wantarray
382 2 18 if @e > 1
383 4 14 wantarray ? :
391 0 2 unless my $entry = $self->find_entry($entry_info)
403 0 526 unless $args
404 2 123 unless defined $args->{$key}
405 123 0 $key =~ / ^ (\w+) \s* (|!|=|!~|=~|gt|lt) $ /x ? :
406 81 0 if defined $_[0]{$field}
407 4 0 unless not defined $_[0]{$field}
408 4 0 if defined $_[0]{$field}
410 8 0 if defined $_[0]{$field}
411 4 0 if defined $_[0]{$field}
412 6 0 $op eq 'lt' ? :
8 6 $op eq 'gt' ? :
6 14 $op eq '!~' ? :
6 20 $op eq '=~' ? :
6 26 $op eq '!' ? :
91 32 !$op || $op eq '=' ? :
418 40 0 unless $_[0]{'default_exp'}
436 0 0 unless defined $id and length $id
438 0 0 if (length $id != 16)
439 0 0 if not $id =~ /^\d+$/ or $id > 4294967295
440 0 0 if $id ne 0
452 4 10 if @_
470 2 2 unless $self->is_locked
472 0 2 unless ref $entry
473 0 2 unless $entry
475 0 2 unless my $entry_obj = $entry->{'__object'}
489 1260 0 unless $class =~ s/^\+//
492 563 697 if defined $hit
495 473 224 ref $ref eq 'ARRAY' ? :
503 6 179 unless local $_ = shift()
509 0 0 unless local $_ = shift()
517 0 0 if length $_ != 16 and &looks_like_number($_)
524 0 0 $_ ? :