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.03';
4             # ABSTRACT: An implementation of Promises in Perl
5              
6 11     11   59 use strict;
  11         16  
  11         256  
7 11     11   41 use warnings;
  11         13  
  11         232  
8              
9 11     11   50 use Scalar::Util qw[ blessed ];
  11         15  
  11         440  
10 11     11   52 use Carp qw[ confess ];
  11         15  
  11         3983  
11              
12             sub new {
13 127     127 1 180 my ( $class, $deferred ) = @_;
14 127 50 33     527 ( blessed $deferred && $deferred->isa('Promises::Deferred') )
15             || confess "You must supply an instance of Promises::Deferred";
16 127         673 bless { 'deferred' => $deferred } => $class;
17             }
18              
19 87     87 1 265 sub then { (shift)->{'deferred'}->then(@_) }
20 0     0 1 0 sub chain { (shift)->{'deferred'}->chain(@_) }
21 1     1 1 14 sub catch { (shift)->{'deferred'}->catch(@_) }
22 0     0 1 0 sub done { (shift)->{'deferred'}->done(@_) }
23 3     3 1 10 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__