Branch Coverage

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


line true false branch
25 0 3 if $INC{'File/KeePass.pm'}
33 0 9 if @_ == 1 and (&blessed($_[0]) // "") eq "File::KeePass::KDBX"
35 0 3 if (@_ == 1 and &blessed($_[0]) and $_[0]->isa("File::KeePass"))
39 0 3 if (@_ == 1 and &blessed($_[0]) and $_[0]->isa("File::KDBX"))
45 3 6 ref $_[0] ? :
47 0 9 if exists $args->{'kdbx'}
75 0 0 if $kdbx
89 0 420 unless ref $self
90 0 420 if (@_)
117 2 4 unless my $file = shift()
118 2 2 unless my $pass = shift()
121 0 2 unless open my $fh, "<:raw", $file
129 0 10 ref $buf ? :
131 0 10 unless open my $fh, "<:raw", $ref
138 0 12 unless ref $self
140 2 10 defined $args->{'auto_lock'} ? :
143 4 8 if $unlock
151 0 0 unless open my $fh, "<:raw", \$buf
157 0 0 if ($sig2 == 3041655653 or $version < 131072)
182 0 0 if $type == "end"
183 0 0 unless $header_transform{$type}
184 0 0 $filter ? :
193 2 8 unless $file
194 2 6 unless $pass
196 6 0 if @_ % 2 == 1
201 0 0 if $head and $head->{'reuse_header'}
210 2 8 unless $pass
212 1 7 if @_ % 2 == 1
217 0 1 if $head and $head->{'reuse_header'}
232 14 0 if ($reuse)
237 0 14 if $reuse and $reuse < 0
239 0 14 if ($head->{'version'} == 1)
251 2 32 unless exists $KDBX{$self}
258 4 75 unless exists $KDBX{$self}
267 0 0 if /^(group_(.+))$/
270 5 58 $g->{'expanded'} ? :
283 20 15 if ref $parent
302 0 303 unless defined $g->{'title'}
304 0 303 if ($self->{'force_v2_gid'}) { }
310 265 38 unless (@tests and grep {not &$_($g);} @tests)
312 2 263 if $self->{'__group_groups'}
314 303 0 if $g->{'groups'}
323 2 34 if wantarray
325 2 34 if @g > 1
326 2 32 wantarray ? :
334 0 5 unless my $group = $self->find_group($group_info)
345 2 5 if ref $parent
350 5 2 if not $parent and $self->kdbx->_has_implicit_root
359 2 85 if $args->{'active'}
363 0 169 unless $g->{'entries'}
366 32 16 unless (@tests and grep {not &$_($e);} @tests)
368 4 28 if $self->{'__entry_groups'}
379 4 16 if wantarray
381 2 18 if @e > 1
382 4 14 wantarray ? :
390 0 2 unless my $entry = $self->find_entry($entry_info)
402 0 526 unless $args
403 2 123 unless defined $args->{$key}
404 123 0 $key =~ / ^ (\w+) \s* (|!|=|!~|=~|gt|lt) $ /x ? :
405 81 0 if defined $_[0]{$field}
406 4 0 unless not defined $_[0]{$field}
407 4 0 if defined $_[0]{$field}
409 8 0 if defined $_[0]{$field}
410 4 0 if defined $_[0]{$field}
411 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 '=' ? :
417 40 0 unless $_[0]{'default_exp'}
435 0 0 unless defined $id and length $id
437 0 0 if (length $id != 16)
438 0 0 if not $id =~ /^\d+$/ or $id > 4294967295
439 0 0 if $id ne 0
451 4 10 if @_
469 2 2 unless $self->is_locked
471 0 2 unless ref $entry
472 0 2 unless $entry
474 0 2 unless my $entry_obj = $entry->{'__object'}
488 1262 0 unless $class =~ s/^\+//
491 563 699 if defined $hit
494 471 228 ref $ref eq 'ARRAY' ? :
502 6 183 unless local $_ = shift()
508 0 0 unless local $_ = shift()
516 0 0 if length $_ != 16 and &looks_like_number($_)
523 0 0 $_ ? :