File Coverage

lib/Crypt/Perl/ASN1/Encodee.pm
Criterion Covered Total %
statement 20 20 100.0
branch 1 2 50.0
condition 1 3 33.3
subroutine 6 6 100.0
pod 0 2 0.0
total 28 33 84.8


line stmt bran cond sub pod time code
1             package Crypt::Perl::ASN1::Encodee;
2              
3 5     5   2373 use strict;
  5         15  
  5         147  
4 5     5   26 use warnings;
  5         23  
  5         114  
5              
6 5     5   1240 use Crypt::Perl::ASN1 ();
  5         11  
  5         89  
7 5     5   36 use Crypt::Perl::X ();
  5         10  
  5         850  
8              
9             sub asn1_macro {
10 467     467 0 1080 my ($self_or_class) = @_;
11              
12 467   33     1283 my $class = ref($self_or_class) || $self_or_class;
13              
14 467 50       2975 $class =~ m<.+::(.+)> or die Crypt::Perl::X::create('Generic', "Invalid class: “$class”");
15              
16 467         1995 return $1;
17             }
18              
19             sub encode {
20 499     499 0 2187 my ($self) = @_;
21              
22 499         1645 my $asn1 = Crypt::Perl::ASN1->new();
23 499         26972 $asn1 = $asn1->prepare( $self->ASN1() )->find( $self->asn1_macro() );
24              
25 499         11295 return $asn1->encode( $self->_encode_params() );
26             }
27              
28             1;