File Coverage

blib/lib/Crypt/OpenPGP/MDC.pm
Criterion Covered Total %
statement 30 30 100.0
branch 2 2 100.0
condition n/a
subroutine 10 10 100.0
pod 4 5 80.0
total 46 47 97.8


line stmt bran cond sub pod time code
1             package Crypt::OpenPGP::MDC;
2 2     2   19 use strict;
  2         6  
  2         93  
3 2     2   26 use warnings;
  2         5  
  2         232  
4              
5             our $VERSION = '1.19'; # VERSION
6              
7 2     2   15 use Crypt::OpenPGP::Digest;
  2         5  
  2         59  
8 2     2   25 use Crypt::OpenPGP::ErrorHandler;
  2         5  
  2         87  
9 2     2   13 use base qw( Crypt::OpenPGP::ErrorHandler );
  2         4  
  2         1143  
10              
11             sub new {
12 3     3 1 12 my $mdc = bless { }, shift;
13 3         14 $mdc->init(@_);
14             }
15              
16             sub init {
17 3     3 0 7 my $mdc = shift;
18 3         10 my %param = @_;
19 3 100       17 if (my $data = $param{Data}) {
20 1         7 my $dgst = Crypt::OpenPGP::Digest->new('SHA1');
21 1         4 $mdc->{body} = $dgst->hash($data);
22             }
23 3         13 $mdc;
24             }
25              
26 2     2 1 27 sub digest { $_[0]->{body} }
27              
28             sub parse {
29 2     2 1 7 my $class = shift;
30 2         6 my($buf) = @_;
31 2         43 my $mdc = $class->new;
32 2         13 $mdc->{body} = $buf->get_bytes($buf->length - $buf->offset);
33 2         69 $mdc;
34             }
35              
36 1     1 1 3 sub save { $_[0]->{body} }
37              
38             1;
39             __END__