Branch Coverage

blib/lib/Crypt/KeyWrap.pm
Criterion Covered Total %
branch 113 162 69.7


line true false branch
30 13034 0 $len > $bytes ? :
36 13034 0 $len > $bytes ? :
41 11148 1872 if ($bytes == 8)
42 0 11148 if $Crypt::KeyWrap::Config{'uvsize'} == 4
45 1872 0 if $bytes == 4
50 142 7 unless defined $value
51 0 7 if ref $value
53 1 6 unless defined $decoded and encode_b64u($decoded) eq $value
59 2 146 unless defined $cipher
60 2 0 $cipher eq 'AES' ? :
2 146 unless defined $padding
64 0 148 unless defined $kek
65 0 148 unless defined $pt_data
67 0 98 unless $klen == 16 or $klen == 24 or $klen == 32
68 0 148 unless $cipher eq "AES" or $cipher eq "DES_EDE"
69 0 148 if $padding and $cipher eq "DES_EDE"
72 10 138 $cipher eq 'DES_EDE' ? :
80 34 114 if ($padding) { }
81 0 34 if $blck != 8
83 34 0 if ($len % $blck > 0)
88 0 114 if $len % $blck != 0
95 14 134 if ($n == 1)
96 6 8 $inverse ? :
105 2178 3984 $inverse ? :
119 2 184 unless defined $cipher
120 2 0 $cipher eq 'AES' ? :
2 184 unless defined $padding
124 0 186 unless defined $kek
125 0 186 unless defined $ct_data
127 0 107 unless $klen == 16 or $klen == 24 or $klen == 32
128 0 186 unless $cipher eq "AES" or $cipher eq "DES_EDE"
129 0 186 if $padding and $cipher eq "DES_EDE"
132 10 176 $cipher eq 'DES_EDE' ? :
137 0 186 if $ct_len < 2 * $blck
138 0 186 if $ct_len % $blck != 0
143 14 172 if ($n == 1) { }
144 6 8 $inverse ? :
154 2178 4680 $inverse ? :
169 152 34 unless ($padding)
170 0 152 unless $A_hex eq "a6" x $blck
173 0 34 if $blck != 8
174 0 34 unless $A_hex =~ /^a65959a6/
178 0 34 if $msg_len < 1 or $z < 0 or $z > 7
180 34 0 $z > 0 ? :
181 0 34 unless $tail eq "00" x $z
189 18 1 unless defined $cipher
190 18 1 unless defined $iv
207 27 0 if ($alg =~ /^PBES2-HS(256|384|512)\+A(128|192|256)KW$/)
222 50 0 if ($alg =~ /^PBES2-HS(256|384|512)\+A(128|192|256)KW$/)
239 0 21 unless ref $kek_public eq "Crypt::PK::RSA"
241 7 14 if ($alg eq 'RSA-OAEP') { }
7 7 elsif ($alg eq 'RSA-OAEP-256') { }
7 0 elsif ($alg eq 'RSA1_5') { }
244 0 21 unless $padding
251 0 45 unless ref $kek_private eq "Crypt::PK::RSA"
252 0 45 unless $kek_private->is_private
254 16 29 if ($alg eq 'RSA-OAEP') { }
10 19 elsif ($alg eq 'RSA-OAEP-256') { }
19 0 elsif ($alg eq 'RSA1_5') { }
257 0 45 unless $padding
271 43 31 if $key_size % $hsize > 0
286 0 7 unless ref $kek_public eq "Crypt::PK::ECC"
288 3 4 if ($enc =~ /^A(128|192|256)CBC-HS/)
291 4 3 if ($enc =~ /^A(128|192|256)GCM/)
302 0 21 unless ref $kek_private eq "Crypt::PK::ECC"
303 0 21 unless $kek_private->is_private
305 7 14 if ($enc =~ /^A(128|192|256)CBC-HS/)
308 14 7 if ($enc =~ /^A(128|192|256)GCM/)
311 14 7 ref $epk ? :
0 21 ref $epk eq 'Crypt::PK::ECC' ? :
319 0 20 unless ref($kek_public) =~ /^Crypt::PK::(ECC|X25519)$/
321 20 0 if ($alg =~ /^ECDH-ES\+A(128|192|256)KW$/)
325 19 1 if (ref $kek_public eq 'Crypt::PK::ECC') { }
339 0 27 unless ref($kek_private) =~ /^Crypt::PK::(ECC|X25519)$/
340 0 27 unless $kek_private->is_private
342 27 0 if ($alg =~ /^ECDH-ES\+A(128|192|256)KW$/)
346 26 1 if (ref $kek_private eq 'Crypt::PK::ECC') { }
347 7 19 ref $epk ? :
0 26 ref $epk eq 'Crypt::PK::ECC' ? :
350 0 1 ref $epk ? :
0 1 ref $epk eq 'Crypt::PK::X25519' ? :