| 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 |