Branch Coverage

blib/lib/Crypt/PK/DSA.pm
Criterion Covered Total %
branch 46 76 60.5


line true false branch
21 27 45 @_ > 0 ? :
26 1 3 if @_ == 2
27 1 2 if (@_ == 1 and ref $_[0] eq 'HASH') { }
2 0 elsif (@_ == 1 and ref $_[0] eq 'SCALAR') { }
29 0 1 unless my $p = $param->{'p'}
30 0 1 unless my $q = $param->{'q'}
31 0 1 unless my $g = $param->{'g'}
39 1 1 if ($data =~ /-----BEGIN DSA PARAMETERS-----\s*(.+)\s*-----END DSA PARAMETERS-----/s)
40 0 1 unless $data = pem_to_der($data)
50 0 10 unless $key
51 5 5 if $type eq "private"
52 5 0 if $type eq "public"
53 0 0 if $type eq "public_x509"
58 0 76 unless $key
61 0 76 if (ref $key eq "HASH")
62 0 0 if ($key->{'p'} and $key->{'q'} and $key->{'g'} and $key->{'y'})
69 36 40 if (ref $key eq 'SCALAR') { }
40 0 elsif (-f $key) { }
78 0 76 unless $data
80 20 56 if ($data =~ /-----BEGIN (DSA PRIVATE|DSA PUBLIC|PRIVATE|ENCRYPTED PRIVATE|PUBLIC) KEY-----(.+?)-----END (DSA PRIVATE|DSA PUBLIC|PRIVATE|ENCRYPTED PRIVATE|PUBLIC) KEY-----/s) { }
0 56 elsif ($data =~ /-----BEGIN CERTIFICATE-----(.+?)-----END CERTIFICATE-----/s) { }
2 54 elsif ($data =~ /-----BEGIN OPENSSH PRIVATE KEY-----(.+?)-----END OPENSSH PRIVATE KEY-----/s) { }
1 53 elsif ($data =~ /---- BEGIN SSH2 PUBLIC KEY ----(.+?)---- END SSH2 PUBLIC KEY ----/s) { }
1 52 elsif ($data =~ /ssh-dss\s+(\S+)/) { }
95 1 0 if $typ and $p and $q and $g and $y and $typ eq "ssh-dss"
99 52 0 if $rv
109 1 0 unless ref $key
110 0 1 unless ref $key eq __PACKAGE__
117 1 0 unless ref $key
118 0 1 unless ref $key eq __PACKAGE__
125 1 0 unless ref $key
126 0 1 unless ref $key eq __PACKAGE__
133 1 0 unless ref $key
134 0 1 unless ref $key eq __PACKAGE__
141 1 0 unless ref $key
142 0 1 unless ref $key eq __PACKAGE__
149 1 0 unless ref $key
150 0 1 unless ref $key eq __PACKAGE__