Branch Coverage

blib/lib/Crypt/PK/RSA.pm
Criterion Covered Total %
branch 47 90 52.2


line true false branch
21 36 80 @_ > 0 ? :
28 1 2 ($type || '') eq 'public_x509' ? :
30 0 3 unless $key
35 1 2 if $type eq "private"
38 1 1 if $type eq "public"
40 1 0 if $type eq "public_x509"
47 0 0 if ($type eq 'private') { }
0 0 elsif ($type eq 'public') { }
48 0 0 unless $kh->{'N'} and $kh->{'e'} and $kh->{'d'} and $kh->{'p'} and $kh->{'q'} and $kh->{'dP'} and $kh->{'dQ'} and $kh->{'qP'}
50 0 0 if length($kh->{$_}) % 2
63 0 0 $wanthash ? :
66 0 0 unless $kh->{'N'} and $kh->{'e'}
68 0 0 if length($kh->{$_}) % 2
75 0 0 $wanthash ? :
91 0 176 unless $key
94 3 173 if (ref $key eq "HASH")
95 3 0 if ($key->{'N'} and $key->{'e'})
99 0 0 if ($key->{'n'} and $key->{'e'} and $key->{'kty'} and $key->{'kty'} eq "RSA")
104 0 0 if exists $key->{$_}
112 72 101 if (ref $key eq 'SCALAR') { }
101 0 elsif (-f $key) { }
121 0 173 unless $data
123 55 118 if ($data =~ /-----BEGIN (RSA PUBLIC|RSA PRIVATE|PUBLIC|PRIVATE|ENCRYPTED PRIVATE) KEY-----(.+?)-----END (RSA PUBLIC|RSA PRIVATE|PUBLIC|PRIVATE|ENCRYPTED PRIVATE) KEY-----/s) { }
1 117 elsif ($data =~ /-----BEGIN CERTIFICATE-----(.+?)-----END CERTIFICATE-----/s) { }
12 105 elsif ($data =~ /-----BEGIN OPENSSH PRIVATE KEY-----(.+?)-----END OPENSSH PRIVATE KEY-----/s) { }
6 99 elsif ($data =~ /---- BEGIN SSH2 PUBLIC KEY ----(.+?)---- END SSH2 PUBLIC KEY ----/s) { }
0 99 elsif ($data =~ /^\s*(\{.*?\})\s*$/s) { }
6 93 elsif ($data =~ /ssh-rsa\s+(\S+)/) { }
139 0 0 if ($h and $h->{'kty'} eq "RSA")
141 0 0 if exists $h->{$_}
143 0 0 if $h->{'n'} and $h->{'e'}
149 6 0 if $typ and $e and $N and $typ eq "ssh-rsa"
154 93 0 if $rv
165 1 1 unless ref $key
166 1 1 unless ref $key eq __PACKAGE__
173 1 0 unless ref $key
174 0 1 unless ref $key eq __PACKAGE__
181 1 0 unless ref $key
182 0 1 unless ref $key eq __PACKAGE__
189 1 0 unless ref $key
190 0 1 unless ref $key eq __PACKAGE__
197 1 1 unless ref $key
198 1 1 unless ref $key eq __PACKAGE__
205 1 0 unless ref $key
206 0 1 unless ref $key eq __PACKAGE__