|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
41
 | 
 81  | 
 2  | 
 unless exists $data->{'promise'}  | 
 
| 
49
 | 
 0  | 
 2  | 
 if UNIVERSAL::isa($result, "Venus::Error")  | 
 
| 
67
 | 
 3  | 
 0  | 
 ref $on_finally eq 'CODE' ? :  | 
 
| 
70
 | 
 0  | 
 3  | 
 if ($is_resolvable and $self->is_fulfilled) { }  | 
 
| 
 | 
 0  | 
 3  | 
 elsif ($is_rejectable and $self->is_rejected) { }  | 
 
| 
79
 | 
 3  | 
 0  | 
 if ($is_resolvable and $is_rejectable)  | 
 
| 
90
 | 
 0  | 
 14  | 
 unless $self->is_pending  | 
 
| 
94
 | 
 1  | 
 13  | 
 if $is_suspended  | 
 
| 
96
 | 
 1  | 
 0  | 
 $self->is_fulfilled ? :  | 
 
| 
 | 
 1  | 
 13  | 
 if $is_suspended  | 
 
| 
98
 | 
 0  | 
 13  | 
 unless $self->{'promise'}  | 
 
| 
106
 | 
 1  | 
 12  | 
 $self->is_pending ? :  | 
 
| 
114
 | 
 3  | 
 0  | 
 $self->$method ? :  | 
 
| 
 | 
 3  | 
 0  | 
 $self->can($method) ? :  | 
 
| 
122
 | 
 15  | 
 27  | 
 $status && $status eq $FULFILLED ? :  | 
 
| 
130
 | 
 123  | 
 48  | 
 $status && $status eq $PENDING ? :  | 
 
| 
136
 | 
 1  | 
 2  | 
 exists $self->{'promise'} ? :  | 
 
| 
144
 | 
 7  | 
 13  | 
 $status && $status eq $REJECTED ? :  | 
 
| 
150
 | 
 2  | 
 3  | 
 exists $self->{'resuming'} ? :  | 
 
| 
156
 | 
 6  | 
 118  | 
 exists $self->{'resume'} ? :  | 
 
| 
158
 | 
 118  | 
 6  | 
 unless $has_resume  | 
 
| 
160
 | 
 6  | 
 0  | 
 defined $self->{'resume'}{'method'} ? :  | 
 
| 
162
 | 
 0  | 
 6  | 
 unless $has_method  | 
 
| 
164
 | 
 6  | 
 0  | 
 defined $self->{'resume'}{'position'} ? :  | 
 
| 
166
 | 
 0  | 
 6  | 
 unless $has_position  | 
 
| 
168
 | 
 6  | 
 0  | 
 exists $self->{'resume'}{'value'} ? :  | 
 
| 
170
 | 
 0  | 
 6  | 
 unless $has_value  | 
 
| 
178
 | 
 0  | 
 41  | 
 if @_ < 2  | 
 
| 
184
 | 
 15  | 
 26  | 
 unless $blessed  | 
 
| 
186
 | 
 25  | 
 1  | 
 $value->isa('Venus::Future') ? :  | 
 
| 
188
 | 
 25  | 
 1  | 
 if $is_future  | 
 
| 
190
 | 
 1  | 
 0  | 
 $value->can('then') ? :  | 
 
| 
206
 | 
 0  | 
 0  | 
 if $self->can($method)  | 
 
| 
215
 | 
 3  | 
 0  | 
 if $code  | 
 
| 
223
 | 
 19  | 
 0  | 
 if $code  | 
 
| 
231
 | 
 7  | 
 0  | 
 if $code  | 
 
| 
239
 | 
 15  | 
 1  | 
 if $code  | 
 
| 
247
 | 
 0  | 
 16  | 
 unless $self->is_pending  | 
 
| 
251
 | 
 0  | 
 16  | 
 if ($self->is_suspended)  | 
 
| 
256
 | 
 0  | 
 0  | 
 if $is_future and $future->is_pending  | 
 
| 
257
 | 
 0  | 
 0  | 
 if $is_future and $future->is_fulfilled  | 
 
| 
262
 | 
 0  | 
 0  | 
 $is_future && $future->is_fulfilled ? :  | 
 
| 
275
 | 
 2  | 
 0  | 
 $self->is_thenable($future) && $future->isa('Venus::Future') ? :  | 
 
| 
277
 | 
 0  | 
 2  | 
 if ($is_future and $future->is_pending)  | 
 
| 
280
 | 
 0  | 
 2  | 
 if ($is_future and $future->is_pending)  | 
 
| 
286
 | 
 0  | 
 16  | 
 if $self->is_suspended  | 
 
| 
305
 | 
 0  | 
 39  | 
 unless $self->is_pending  | 
 
| 
309
 | 
 1  | 
 38  | 
 if ($self->is_suspended)  | 
 
| 
314
 | 
 0  | 
 1  | 
 if $is_future and $future->is_pending  | 
 
| 
315
 | 
 0  | 
 1  | 
 if $is_future and $future->is_rejected  | 
 
| 
320
 | 
 1  | 
 0  | 
 $is_future && $future->is_fulfilled ? :  | 
 
| 
333
 | 
 18  | 
 0  | 
 $self->is_thenable($future) && $future->isa('Venus::Future') ? :  | 
 
| 
335
 | 
 4  | 
 14  | 
 if ($is_future and $future->is_pending)  | 
 
| 
338
 | 
 3  | 
 15  | 
 if ($is_future and $future->is_pending)  | 
 
| 
344
 | 
 4  | 
 35  | 
 if $self->is_suspended  | 
 
| 
363
 | 
 2  | 
 3  | 
 unless my $resume = delete $self->{'resume'}  | 
 
| 
400
 | 
 7  | 
 16  | 
 ref $on_reject eq 'CODE' ? :  | 
 
| 
401
 | 
 19  | 
 4  | 
 ref $on_fulfill eq 'CODE' ? :  | 
 
| 
403
 | 
 0  | 
 23  | 
 if ($is_resolvable and $self->is_fulfilled) { }  | 
 
| 
 | 
 0  | 
 23  | 
 elsif ($is_rejectable and $self->is_rejected) { }  | 
 
| 
412
 | 
 19  | 
 4  | 
 if ($is_resolvable and $self->is_pending)  | 
 
| 
415
 | 
 7  | 
 16  | 
 if ($is_rejectable and $self->is_pending)  | 
 
| 
429
 | 
 2  | 
 0  | 
 if (ref $on_finally eq 'CODE') { }  | 
 
| 
432
 | 
 0  | 
 2  | 
 if ($self->is_thenable($result)) { }  | 
 
| 
433
 | 
 0  | 
 0  | 
 if ($self->is_resuming) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($result->isa('Venus::Future') and $result->is_fulfilled) { }  | 
 
| 
459
 | 
 17  | 
 0  | 
 if (ref $on_fulfill eq 'CODE') { }  | 
 
| 
462
 | 
 5  | 
 12  | 
 if ($self->is_thenable($result)) { }  | 
 
| 
463
 | 
 2  | 
 3  | 
 if ($self->is_resuming) { }  | 
 
| 
 | 
 1  | 
 2  | 
 elsif ($result->isa('Venus::Future') and $result->is_fulfilled) { }  | 
 
| 
489
 | 
 1  | 
 0  | 
 if (ref $on_reject eq 'CODE') { }  | 
 
| 
492
 | 
 0  | 
 1  | 
 if ($self->is_thenable($result)) { }  | 
 
| 
493
 | 
 0  | 
 0  | 
 if ($self->is_resuming) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($result->isa('Venus::Future') and $result->is_fulfilled) { }  | 
 
| 
522
 | 
 2  | 
 0  | 
 if (defined $timeout) { }  | 
 
| 
527
 | 
 1  | 
 0  | 
 if $seen = $self->fulfill  | 
 
| 
529
 | 
 1  | 
 1  | 
 unless ($seen)  | 
 
| 
535
 | 
 0  | 
 0  | 
 if $self->fulfill  |