You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.1 KiB
46 lines
1.1 KiB
<?php |
|
|
|
namespace React\Tests\Socket; |
|
|
|
use React\EventLoop\Factory; |
|
use React\SocketClient\TcpConnector; |
|
use React\Socket\Server; |
|
use Clue\React\Block; |
|
|
|
class FunctionalServerTest extends TestCase |
|
{ |
|
public function testEmitsConnectionForNewConnection() |
|
{ |
|
$loop = Factory::create(); |
|
|
|
$server = new Server($loop); |
|
$server->on('connection', $this->expectCallableOnce()); |
|
$server->listen(0); |
|
$port = $server->getPort(); |
|
|
|
$connector = new TcpConnector($loop); |
|
$promise = $connector->create('127.0.0.1', $port); |
|
|
|
$promise->then($this->expectCallableOnce()); |
|
|
|
Block\sleep(0.1, $loop); |
|
} |
|
|
|
public function testEmitsConnectionEvenIfConnectionIsCancelled() |
|
{ |
|
$loop = Factory::create(); |
|
|
|
$server = new Server($loop); |
|
$server->on('connection', $this->expectCallableOnce()); |
|
$server->listen(0); |
|
$port = $server->getPort(); |
|
|
|
$connector = new TcpConnector($loop); |
|
$promise = $connector->create('127.0.0.1', $port); |
|
$promise->cancel(); |
|
|
|
$promise->then(null, $this->expectCallableOnce()); |
|
|
|
Block\sleep(0.1, $loop); |
|
} |
|
}
|
|
|