Branch Coverage

blib/lib/Crypt/PK/DH.pm
Criterion Covered Total %
branch 34 58 58.6


line true false branch
171 19 27 @_ > 0 ? :
176 0 27 unless $key
178 0 27 if (ref $key eq 'SCALAR') { }
27 0 elsif (-f $key) { }
187 0 27 unless $data
195 0 4 if (ref $param eq 'HASH') { }
4 0 elsif (my $dhparam = $DH_PARAMS{$param}) { }
196 0 0 unless $g = $param->{'g'}
197 0 0 unless $p = $param->{'p'}
200 0 0 unless length $g
201 0 0 unless length $p
209 2 2 if ($type eq 'private') { }
2 0 elsif ($type eq 'public') { }
223 1 15 unless (defined $param)
226 10 5 if (not ref $param) { }
2 3 elsif (ref $param eq 'SCALAR') { }
3 0 elsif (ref $param eq 'HASH') { }
228 5 5 if exists $DH_PARAMS{$param}
230 2 3 if $param =~ /^[0-9]+\z/
234 1 1 if ($data =~ /-----BEGIN DH PARAMETERS-----\s*(.+)\s*-----END DH PARAMETERS-----/s)
235 0 1 unless $data = pem_to_der($data)
240 0 3 unless my $g = $param->{'g'}
241 0 3 unless my $p = $param->{'p'}
244 0 3 unless length $g
245 0 3 unless length $p
255 5 0 unless ref $privkey
256 5 0 unless ref $pubkey
257 1 4 unless ref $privkey eq __PACKAGE__ and $privkey->is_private
258 0 4 unless ref $pubkey eq __PACKAGE__