once('message', function (Message $msg) use ($reader) { // Respond to request Loop\setTimeout(function () use ($reader, $msg) { $reader->write(new Message(new AdvancedJsonRpc\SuccessResponse($msg->body->id, 'pong'))); }, 0); }); $handler->request('testMethod', ['ping'])->then(function ($result) { $this->assertEquals('pong', $result); })->wait(); // No event listeners $this->assertEquals([], $reader->listeners('message')); $this->assertEquals([], $writer->listeners('message')); } public function testNotify() { $reader = new MockProtocolStream; $writer = new MockProtocolStream; $handler = new ClientHandler($reader, $writer); $handler->notify('testMethod', ['ping'])->wait(); // No event listeners $this->assertEquals([], $reader->listeners('message')); $this->assertEquals([], $writer->listeners('message')); } }