Branch Coverage

blib/lib/Crypt/PK/RSA.pm
Criterion Covered Total %
branch 41 88 46.5


line true false branch
21 30 77 @_ > 0 ? :
28 0 3 unless $key
33 1 2 if $type eq "private"
36 1 1 if $type eq "public"
38 1 0 if $type eq "public_x509"
45 0 0 if ($type eq 'private') { }
0 0 elsif ($type eq 'public') { }
46 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'}
48 0 0 if length($kh->{$_}) % 2
61 0 0 $wanthash ? :
64 0 0 unless $kh->{'N'} and $kh->{'e'}
66 0 0 if length($kh->{$_}) % 2
73 0 0 $wanthash ? :
89 0 168 unless $key
92 1 167 if (ref $key eq "HASH")
93 1 0 if ($key->{'N'} and $key->{'e'})
97 0 0 if ($key->{'n'} and $key->{'e'} and $key->{'kty'} and $key->{'kty'} eq "RSA")
102 0 0 if exists $key->{$_}
110 72 95 if (ref $key eq 'SCALAR') { }
95 0 elsif (-f $key) { }
119 0 167 unless $data
121 53 114 if ($data =~ /-----BEGIN (RSA PUBLIC|RSA PRIVATE|PUBLIC|PRIVATE|ENCRYPTED PRIVATE) KEY-----(.+?)-----END (RSA PUBLIC|RSA PRIVATE|PUBLIC|PRIVATE|ENCRYPTED PRIVATE) KEY-----/s) { }
1 113 elsif ($data =~ /-----BEGIN CERTIFICATE-----(.+?)-----END CERTIFICATE-----/s) { }
12 101 elsif ($data =~ /-----BEGIN OPENSSH PRIVATE KEY-----(.+?)-----END OPENSSH PRIVATE KEY-----/s) { }
6 95 elsif ($data =~ /---- BEGIN SSH2 PUBLIC KEY ----(.+?)---- END SSH2 PUBLIC KEY ----/s) { }
0 95 elsif ($data =~ /^\s*(\{.*?\})\s*$/s) { }
6 89 elsif ($data =~ /ssh-rsa\s+(\S+)/) { }
137 0 0 if ($h and $h->{'kty'} eq "RSA")
139 0 0 if exists $h->{$_}
141 0 0 if $h->{'n'} and $h->{'e'}
147 6 0 if $typ and $e and $N and $typ eq "ssh-rsa"
152 89 0 if $rv
163 1 0 unless ref $key
164 0 1 unless ref $key eq __PACKAGE__
171 1 0 unless ref $key
172 0 1 unless ref $key eq __PACKAGE__
179 1 0 unless ref $key
180 0 1 unless ref $key eq __PACKAGE__
187 1 0 unless ref $key
188 0 1 unless ref $key eq __PACKAGE__
195 1 0 unless ref $key
196 0 1 unless ref $key eq __PACKAGE__
203 1 0 unless ref $key
204 0 1 unless ref $key eq __PACKAGE__