Branch Coverage

blib/lib/Crypt/PK/ECC.pm
Criterion Covered Total %
branch 47 116 40.5


line true false branch
112 0 1 unless $crv
113 1 0 if (defined $k and length $k > 0) { }
0 0 elsif (defined $x and defined $y) { }
114 0 1 if length($k) % 2
118 0 0 if length($x) % 2
119 0 0 if length($y) % 2
120 0 0 if length $y != length $x
128 71 199 @_ > 0 ? :
135 0 8 unless $key
136 4 4 if substr($type, 0, 7) eq "private"
137 4 0 if substr($type, 0, 6) eq "public"
144 0 0 unless defined $kh->{'curve_oid'}
145 0 0 unless defined $kh->{'curve_name'}
147 0 0 if ($type and $type eq 'private') { }
0 0 elsif ($type and $type eq 'public') { }
148 0 0 unless $kh->{'pub_x'} and $kh->{'pub_y'} and $kh->{'k'}
150 0 0 if length($kh->{$_}) % 2
160 0 0 $wanthash ? :
163 0 0 unless $kh->{'pub_x'} and $kh->{'pub_y'}
165 0 0 if length($kh->{$_}) % 2
172 0 0 $wanthash ? :
188 0 113 unless $key
191 1 112 if (ref $key eq "HASH")
192 1 0 if ($key->{'pub_x'} and $key->{'pub_y'} or $key->{'k'})
197 0 0 if ($key->{'crv'} and $key->{'kty'} and $key->{'kty'} eq "EC" and $key->{'d'} || $key->{'x'} && $key->{'y'})
201 0 0 if exists $key->{$_}
210 16 96 if (ref $key eq 'SCALAR') { }
96 0 elsif (-f $key) { }
219 0 112 unless $data
221 61 51 if ($data =~ /(-----BEGIN (PUBLIC|EC PRIVATE|PRIVATE|ENCRYPTED PRIVATE) KEY-----(.+?)-----END (PUBLIC|EC PRIVATE|PRIVATE|ENCRYPTED PRIVATE) KEY-----)/s) { }
0 51 elsif ($data =~ /-----BEGIN CERTIFICATE-----(.+?)-----END CERTIFICATE-----/s) { }
6 45 elsif ($data =~ /-----BEGIN OPENSSH PRIVATE KEY-----(.+?)-----END OPENSSH PRIVATE KEY-----/s) { }
3 42 elsif ($data =~ /---- BEGIN SSH2 PUBLIC KEY ----(.+?)---- END SSH2 PUBLIC KEY ----/s) { }
3 39 elsif ($data =~ /(ecdsa-\S+)\s+(\S+)/) { }
0 39 elsif ($data =~ /^\s*(\{.*?\})\s*$/s) { }
224 56 5 if $rv
238 3 0 if $pubkey and $typ =~ /^ecdsa-(.+?)-(.*)$/
244 0 0 if ($h->{'kty'} eq "EC")
245 0 0 if exists $h->{'x'}
246 0 0 if exists $h->{'y'}
247 0 0 if exists $h->{'d'}
257 39 0 if $rv
282 1 0 unless ref $key
283 0 1 unless ref $key eq __PACKAGE__
290 1 0 unless ref $key
291 0 1 unless ref $key eq __PACKAGE__
298 1 0 unless ref $key
299 0 1 unless ref $key eq __PACKAGE__
306 1 0 unless ref $key
307 0 1 unless ref $key eq __PACKAGE__
314 1 0 unless ref $key
315 0 1 unless ref $key eq __PACKAGE__
322 1 0 unless ref $key
323 0 1 unless ref $key eq __PACKAGE__
330 2 0 unless ref $privkey
331 2 0 unless ref $pubkey
332 0 2 unless ref $privkey eq __PACKAGE__ and $privkey->is_private
333 0 2 unless ref $pubkey eq __PACKAGE__