File Coverage

blib/lib/Promises/Promise.pm
Criterion Covered Total %
statement 28 30 93.3
branch 1 2 50.0
condition 1 3 33.3
subroutine 18 20 90.0
pod 16 16 100.0
total 64 71 90.1


line stmt bran cond sub pod time code
1             package Promises::Promise;
2             our $AUTHORITY = 'cpan:YANICK';
3             $Promises::Promise::VERSION = '1.05';
4             # ABSTRACT: An implementation of Promises in Perl
5              
6 36     36   245789 use strict;
  36         81  
  36         1595  
7 36     36   214 use warnings;
  36         61  
  36         2228  
8              
9 36     36   909 use Scalar::Util qw[ blessed ];
  36         101  
  36         2213  
10 36     36   233 use Carp qw[ confess ];
  36         65  
  36         20113  
11              
12             sub new {
13 549     549 1 1099 my ( $class, $deferred ) = @_;
14 549 50 33     3109 ( blessed $deferred && $deferred->isa('Promises::Deferred') )
15             || confess "You must supply an instance of Promises::Deferred";
16 549         4052 bless { 'deferred' => $deferred } => $class;
17             }
18              
19 334     334 1 1312 sub then { (shift)->{'deferred'}->then(@_) }
20 1     1 1 5 sub chain { (shift)->{'deferred'}->chain(@_) }
21 24     24 1 107 sub catch { (shift)->{'deferred'}->catch(@_) }
22 56     56 1 184 sub done { (shift)->{'deferred'}->done(@_) }
23 19     19 1 117 sub finally { (shift)->{'deferred'}->finally(@_) }
24 43     43 1 20890 sub status { (shift)->{'deferred'}->status }
25 8     8 1 36 sub result { (shift)->{'deferred'}->result }
26 0     0 1 0 sub timeout { (shift)->{'deferred'}->timeout }
27              
28 1     1 1 548 sub is_unfulfilled { (shift)->{'deferred'}->is_unfulfilled }
29 1     1 1 635 sub is_fulfilled { (shift)->{'deferred'}->is_fulfilled }
30 0     0 1 0 sub is_failed { (shift)->{'deferred'}->is_failed }
31 1     1 1 659 sub is_done { (shift)->{'deferred'}->is_done }
32              
33 1     1 1 546 sub is_in_progress { (shift)->{'deferred'}->is_in_progress }
34 1     1 1 2025 sub is_resolved { (shift)->{'deferred'}->is_resolved }
35 1     1 1 594 sub is_rejected { (shift)->{'deferred'}->is_rejected }
36              
37             1;
38              
39             __END__