Branch Coverage

blib/lib/File/KDBX/Entry.pm
Criterion Covered Total %
branch 158 252 62.7


line true false branch
33 98 351 if (@_ or not defined $self->{'uuid'})
34 13 85 @_ % 2 == 1 ? :
40 13 85 if defined $old_uuid and $self->is_current
43 0 182 unless &Scalar::Util::blessed($_[0])
44 86 96 if $#_
0 98 unless &Scalar::Util::blessed($_[0])
45 5 93 if $#_
0 84 unless &Scalar::Util::blessed($_[0])
46 0 84 if $#_
0 84 unless &Scalar::Util::blessed($_[0])
47 0 84 if $#_
0 84 unless &Scalar::Util::blessed($_[0])
48 0 84 if $#_
0 87 unless &Scalar::Util::blessed($_[0])
49 0 87 if $#_
0 511 unless &Scalar::Util::blessed($_[0])
50 0 511 if $#_
0 113 unless &Scalar::Util::blessed($_[0])
51 2 111 if $#_
0 138 unless &Scalar::Util::blessed($_[0])
52 2 136 if $#_
0 134 unless &Scalar::Util::blessed($_[0])
53 0 134 if $#_
0 134 unless &Scalar::Util::blessed($_[0])
54 0 134 if $#_
0 720 unless &Scalar::Util::blessed($_[0])
55 0 720 if $#_
58 0 100 unless &Scalar::Util::blessed($_[0])
59 10 90 if $#_
0 87 unless &Scalar::Util::blessed($_[0])
60 1 86 if $#_
0 92 unless &Scalar::Util::blessed($_[0])
61 8 84 if $#_
0 84 unless &Scalar::Util::blessed($_[0])
62 0 84 if $#_
0 84 unless &Scalar::Util::blessed($_[0])
63 0 84 if $#_
0 84 unless &Scalar::Util::blessed($_[0])
64 0 84 if $#_
0 85 unless &Scalar::Util::blessed($_[0])
65 1 84 if $#_
67 0 84 unless &Scalar::Util::blessed($_[0])
68 0 84 if $#_
69 0 84 unless &Scalar::Util::blessed($_[0])
70 0 84 if $#_
71 0 87 unless &Scalar::Util::blessed($_[0])
72 0 87 if $#_
100 154 2 if (my $method = $self->can($key)) { }
116 1118 0 @_ % 2 == 1 ? :
145 1118 @_ == 2 ? :
119 0 0 unless (defined $args{'key'} or defined $args{'value'})
122 0 0 if (@other_keys == 1)
128 0 1263 unless my $key = delete $args{'key'}
130 0 1263 if XXX
137 809 454 if ($STANDARD_STRINGS{$key})
138 79 269 $self->_protect($key) ? :
147 0 348 unless $STANDARD_STRINGS{$key}
148 89 259 if (my $kdbx = eval { do { $self->kdbx } })
150 89 0 if defined $protect
171 12 31 if (defined $arg)
172 0 12 $File::KDBX::PLACEHOLDERS{"${placeholder}:$arg"} ? :
175 1 42 unless defined $File::KDBX::PLACEHOLDERS{$placeholder_key}
179 0 23 unless my $handler = $File::KDBX::PLACEHOLDERS{$placeholder_key}
226 321 4 defined $string->{'value'} ? :
244 0 0 if ($association)
246 0 0 defined $association ? :
0 0 XXX && exists $association->{'keystroke_sequence'} ? :
249 0 0 unless $keys
261 3 0 @_ % 2 == 1 ? :
0 3 @_ == 2 ? :
264 0 0 unless (defined $args{'key'} or defined $args{'value'})
267 0 0 if (@other_keys == 1)
273 0 3 unless my $key = delete $args{'key'}
275 0 3 if XXX
299 0 27 unless defined $params{'type'} and defined $params{'secret'}
301 15 12 unless $params{'base32'}
305 0 27 if (my $err = $@)
320 0 10 unless defined $params{'type'} and defined $params{'secret'}
322 0 10 unless $params{'base32'}
326 0 10 if (my $err = $@)
341 0 20 if 4 != grep({defined $_;} @params{"type", "secret", "issuer", "account"})
342 0 20 unless $params{'type'} =~ /^[ht]otp$/i
354 5 15 unless $params{'base32'}
356 9 11 if defined $params{'algorithm'} and $params{'algorithm'} eq "sha1"
357 9 11 if defined $params{'period'} and $params{'period'} == 30
358 16 4 if defined $params{'digits'} and $params{'digits'} == 6
359 5 15 if defined $params{'counter'} and $params{'counter'} == 0
363 1 19 if (defined $params{'encoder'})
367 2 17 if defined $params{'algorithm'}
368 3 16 if defined $params{'digits'}
369 2 17 if defined $params{'counter'}
370 2 17 if defined $params{'period'}
386 24 12 if $params{'secret'}
389 0 12 if not $otp_params{'secret'} or $otp_params{'type'} ne "hotp"
413 11 10 if $params{'secret'}
416 0 10 if not $otp_params{'secret'} or $otp_params{'type'} ne "totp"
428 22 0 if $uri =~ m[^otpauth://]
429 0 22 unless $params{'secret'} and $params{'type'}
431 2 20 if (($params{'encoder'} // "") eq "steam")
441 2 20 if $params{'algorithm'}
442 12 10 if $params{'type'} eq "hotp"
457 22 35 if $count == 0
458 1 34 if 1 < $count
460 15 20 if defined $secret_b32
461 4 16 if defined $secret_b64
462 4 12 if defined $secret_hex
470 0 27 unless &looks_like_number($counter)
489 0 15 unless defined $string->{'value'}
495 0 0 unless defined $item->{'value'}
501 0 0 unless defined $binary->{'value'}
503 0 0 utf8::is_utf8($binary->{'value'}) ? :
508 0 3 unless $self->auto_type->{'associations'}
521 4 276 if (@$entries and not &blessed($entries->[0]))
548 0 2 if (0 <= $max_items and $max_items < @$history)
552 2 0 if (0 <= $max_size)
560 2 0 if (0 <= $max_age)
564 2 1 if $cutoff <= $entry->last_modification_time
589 3 0 if &Hash::Util::FieldHash::id($entry) != &Hash::Util::FieldHash::id($item)
600 9 41 if ($parent)
603 9 0 if $entry
623 0 33 if $current->remove_historical_entry($self)
633 0 0 if $parent
639 0 84 if @_
641 0 84 unless $self->auto_type->{'enabled'}
642 59 25 unless $self->is_connected
644 0 25 if $parent