From fc9401f04a3aca5abb22f87ebc210de8afe11d32 Mon Sep 17 00:00:00 2001 From: marvin-borner@live.com Date: Tue, 10 Apr 2018 21:50:16 +0200 Subject: Initial Commit --- .../react/socket/tests/UnixConnectorTest.php | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 assets/php/vendor/react/socket/tests/UnixConnectorTest.php (limited to 'assets/php/vendor/react/socket/tests/UnixConnectorTest.php') diff --git a/assets/php/vendor/react/socket/tests/UnixConnectorTest.php b/assets/php/vendor/react/socket/tests/UnixConnectorTest.php new file mode 100644 index 0000000..1564064 --- /dev/null +++ b/assets/php/vendor/react/socket/tests/UnixConnectorTest.php @@ -0,0 +1,64 @@ +loop = $this->getMockBuilder('React\EventLoop\LoopInterface')->getMock(); + $this->connector = new UnixConnector($this->loop); + } + + public function testInvalid() + { + $promise = $this->connector->connect('google.com:80'); + $promise->then(null, $this->expectCallableOnce()); + } + + public function testInvalidScheme() + { + $promise = $this->connector->connect('tcp://google.com:80'); + $promise->then(null, $this->expectCallableOnce()); + } + + public function testValid() + { + // random unix domain socket path + $path = sys_get_temp_dir() . '/test' . uniqid() . '.sock'; + + // temporarily create unix domain socket server to connect to + $server = stream_socket_server('unix://' . $path, $errno, $errstr); + + // skip test if we can not create a test server (Windows etc.) + if (!$server) { + $this->markTestSkipped('Unable to create socket "' . $path . '": ' . $errstr . '(' . $errno .')'); + return; + } + + // tests succeeds if we get notified of successful connection + $promise = $this->connector->connect($path); + $promise->then($this->expectCallableOnce()); + + // remember remote and local address of this connection and close again + $remote = $local = false; + $promise->then(function(ConnectionInterface $conn) use (&$remote, &$local) { + $remote = $conn->getRemoteAddress(); + $local = $conn->getLocalAddress(); + $conn->close(); + }); + + // clean up server + fclose($server); + unlink($path); + + $this->assertNull($local); + $this->assertEquals('unix://' . $path, $remote); + } +} -- cgit v1.2.3