File Coverage

blib/lib/Email/Send/Test/DataDumper.pm
Criterion Covered Total %
statement 12 33 36.3
branch 0 6 0.0
condition n/a
subroutine 4 10 40.0
pod 0 5 0.0
total 16 54 29.6


line stmt bran cond sub pod time code
1             package Email::Send::Test::DataDumper;
2              
3 1     1   5 use strict;
  1         1  
  1         36  
4 1     1   4 use warnings;
  1         2  
  1         39  
5             our $VERSION = '0.01';
6              
7 1     1   2761 use Return::Value;
  1         33891  
  1         80  
8 1     1   7268 use Tie::DataDumper;
  1         62372  
  1         833  
9             our $FILENAME;
10             $FILENAME = '=' unless $FILENAME;
11              
12             sub is_available {
13 0 0   0 0   return eval { require Tie::DataDumper }
  0            
14             ? success
15             : failure "is_available: Loading Tie::DataDumper failed: $@";
16             }
17              
18             sub send {
19 0     0 0   my ($class, $message, @args) = @_;
20 0           my $deliveries = $class->_deliveries(@args);
21 0           push @$deliveries, [ $class, $message, \@args ];
22             }
23              
24             sub deliveries {
25 0     0 0   my ($class, @args) = @_;
26 0           my $deliveries = $class->_deliveries(@args);
27 0           return @$deliveries;
28             }
29              
30             sub emails {
31 0     0 0   my ($class, @args) = @_;
32 0           my $deliveries = $class->_deliveries(@args);
33 0 0         return scalar @$deliveries unless wantarray;
34 0           return map { $_->[1] } @$deliveries;
  0            
35             }
36              
37             sub clear {
38 0     0 0   my ($class, @args) = @_;
39 0           my $deliveries = $class->_deliveries(@args);
40 0           @$deliveries = ();
41 0           return 1;
42             }
43              
44             sub _deliveries {
45 0     0     my ($class, @args) = @_;
46 0 0         @args = ($FILENAME) unless @args;
47 0           tie my @deliveries => 'Tie::DataDumper', $args[0];
48 0           return \@deliveries;
49             }
50              
51             1;
52             __END__