Skip to content

Commit 22dc5c2

Browse files
committed
Add tests for promise resolution and rejection value forwarding
1 parent efc4015 commit 22dc5c2

2 files changed

Lines changed: 45 additions & 0 deletions

File tree

tests/React/Promise/DeferredRejectTest.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,26 @@ public function shouldInvokeNewlyAddedErrbackWhenAlreadyRejected()
6363
->promise()
6464
->then($this->expectCallableNever(), $mock);
6565
}
66+
67+
/** @test */
68+
public function shouldForwardReasonWhenCallbackIsNull()
69+
{
70+
$mock = $this->createCallableMock();
71+
$mock
72+
->expects($this->once())
73+
->method('__invoke')
74+
->with($this->identicalTo(1));
75+
76+
$d = new Deferred();
77+
$d
78+
->then(
79+
$this->expectCallableNever()
80+
)
81+
->then(
82+
$this->expectCallableNever(),
83+
$mock
84+
);
85+
86+
$d->reject(1);
87+
}
6688
}

tests/React/Promise/DeferredResolveTest.php

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,4 +139,27 @@ public function shouldInvokeNewlyAddedCallbackWhenAlreadyResolved()
139139
->promise()
140140
->then($mock, $this->expectCallableNever());
141141
}
142+
143+
/** @test */
144+
public function shouldForwardValueWhenCallbackIsNull()
145+
{
146+
$mock = $this->createCallableMock();
147+
$mock
148+
->expects($this->once())
149+
->method('__invoke')
150+
->with($this->identicalTo(1));
151+
152+
$d = new Deferred();
153+
$d
154+
->then(
155+
null,
156+
$this->expectCallableNever()
157+
)
158+
->then(
159+
$mock,
160+
$this->expectCallableNever()
161+
);
162+
163+
$d->resolve(1);
164+
}
142165
}

0 commit comments

Comments
 (0)