Skip to content

Commit 8bbef55

Browse files
committed
Add test to confirm bad behavior of chaining
1 parent b83b4d1 commit 8bbef55

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

tests/PromiseTest.php

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
namespace Http\Adapter\React\Tests;
4+
5+
use GuzzleHttp\Psr7\Response;
6+
use Http\Adapter\React\Promise;
7+
use Http\Adapter\React\ReactFactory;
8+
use PHPUnit\Framework\TestCase;
9+
use React\Promise\Deferred;
10+
11+
class PromiseTest extends TestCase
12+
{
13+
private $loop;
14+
15+
public function setUp()
16+
{
17+
$this->loop = ReactFactory::buildEventLoop();
18+
}
19+
20+
public function testChain()
21+
{
22+
$deferred = new Deferred();
23+
$promise = new Promise($deferred->promise());
24+
$promise->setLoop($this->loop);
25+
$response = new Response(200);
26+
27+
$lastPromise = $promise->then(function (Response $response) {
28+
return $response->withStatus(300);
29+
});
30+
31+
$deferred->resolve($response);
32+
$updatedResponse = $lastPromise->wait();
33+
34+
self::assertEquals(200, $response->getStatusCode());
35+
self::assertEquals(300, $updatedResponse->getStatusCode());
36+
}
37+
}

0 commit comments

Comments
 (0)