File Coverage

blib/lib/Promises/Promise.pm
Criterion Covered Total %
statement 18 30 60.0
branch 1 2 50.0
condition 1 3 33.3
subroutine 8 20 40.0
pod 16 16 100.0
total 44 71 61.9


line stmt bran cond sub pod time code
1             package Promises::Promise;
2             our $AUTHORITY = 'cpan:YANICK';
3             $Promises::Promise::VERSION = '1.02';
4             # ABSTRACT: An implementation of Promises in Perl
5              
6 11     11   72 use strict;
  11         25  
  11         316  
7 11     11   53 use warnings;
  11         22  
  11         287  
8              
9 11     11   61 use Scalar::Util qw[ blessed ];
  11         35  
  11         541  
10 11     11   82 use Carp qw[ confess ];
  11         20  
  11         4932  
11              
12             sub new {
13 127     127 1 229 my ( $class, $deferred ) = @_;
14 127 50 33     765 ( blessed $deferred && $deferred->isa('Promises::Deferred') )
15             || confess "You must supply an instance of Promises::Deferred";
16 127         904 bless { 'deferred' => $deferred } => $class;
17             }
18              
19 87     87 1 333 sub then { (shift)->{'deferred'}->then(@_) }
20 0     0 1 0 sub chain { (shift)->{'deferred'}->chain(@_) }
21 1     1 1 5 sub catch { (shift)->{'deferred'}->catch(@_) }
22 0     0 1 0 sub done { (shift)->{'deferred'}->done(@_) }
23 3     3 1 13 sub finally { (shift)->{'deferred'}->finally(@_) }
24 0     0 1   sub status { (shift)->{'deferred'}->status }
25 0     0 1   sub result { (shift)->{'deferred'}->result }
26 0     0 1   sub timeout { (shift)->{'deferred'}->timeout }
27              
28 0     0 1   sub is_unfulfilled { (shift)->{'deferred'}->is_unfulfilled }
29 0     0 1   sub is_fulfilled { (shift)->{'deferred'}->is_fulfilled }
30 0     0 1   sub is_failed { (shift)->{'deferred'}->is_failed }
31 0     0 1   sub is_done { (shift)->{'deferred'}->is_done }
32              
33 0     0 1   sub is_in_progress { (shift)->{'deferred'}->is_in_progress }
34 0     0 1   sub is_resolved { (shift)->{'deferred'}->is_resolved }
35 0     0 1   sub is_rejected { (shift)->{'deferred'}->is_rejected }
36              
37             1;
38              
39             __END__