public function getProtokollString() { $this->buffer->writeInt32BE($this->buffer->length() - 4, 0); $this->buffer->writeInt8(self::TYPE, 4); $this->buffer->writeInt32BE(strlen($this->channel->getName()), 5); $this->buffer->write($this->channel->getName(), 9); $this->buffer->write($this->message, 9 + strlen($this->channel->getName())); return (string) $this->buffer; }
public function testGetProtokollString() { $channel = new Channel('channel'); $message = 'php'; $buffer = new Buffer(4 + 1 + 4 + strlen($channel->getName()) + strlen($message)); $buffer->writeInt32BE($buffer->length() - 4, 0); $buffer->writeInt8(0x1, 4); $buffer->writeInt32BE(strlen($channel->getName()), 5); $buffer->write($channel->getName(), 9); $buffer->write($message, 9 + strlen($channel->getName())); $msg = new PublishMessage($channel, $message); $this->assertEquals((string) $buffer, $msg->getProtokollString()); }
public function testGetProtokollString() { $objectStoreage = new \SplObjectStorage(); $objectStoreage->attach($this->getChannelMock('channel_one')); $objectStoreage->attach($this->getChannelMock('channel_two')); $channels = $this->getMock('TrafficCophp\\Channel\\ChannelCollection'); $channels->expects($this->any())->method('getChannels')->will($this->returnValue($objectStoreage)); $msg = new SubscribeMessage($channels); $raw_channel_string = 'channel_one,channel_two'; $buf = new Buffer(4 + 1 + 4 + strlen($raw_channel_string)); $buf->writeInt32BE($buf->length() - 4, 0); $buf->writeInt8(0x2, 4); $buf->writeInt32BE(strlen($raw_channel_string), 5); $buf->write($raw_channel_string, 9); $this->assertSame((string) $buf, $msg->getProtokollString()); }
protected function getRawData($channels, $message) { $buffer = new Buffer(4 + strlen($channels) + strlen($message)); $buffer->writeInt32BE(strlen($channels), 0); $buffer->write($channels, 4); $buffer->write($message, 4 + strlen($channels)); return (string) $buffer; }
public function testReceive() { $transportMock = $this->getTransportMock(); $transportMock->expects($this->exactly(1))->method('send'); $channel = 'channel_one'; $message = 'message'; $buffer = new Buffer(4 + 11 + 7); $buffer->writeInt32BE(strlen($channel), 0); $buffer->write($channel, 4); $buffer->write($message, 4 + strlen($channel)); // Create a map of arguments to return values. $map = array(array(4, 26), array(22, (string) $buffer)); $transportMock->expects($this->exactly(2))->method('receive')->will($this->returnValueMap($map)); $subscriber = new Subscriber($transportMock); $messageMock = $this->getMockBuilder('TrafficCophp\\Message\\SubscribeMessage')->disableOriginalConstructor()->getMock(); $subscriber->subscribe($messageMock); $srvMessageMock = $this->getMockBuilder('TrafficCophp\\Message\\ServerMessage')->disableOriginalConstructor()->getMock(); $srvMessageMock->expects($this->exactly(1))->method('parse'); $subscriber->receive($srvMessageMock); }
public function testWritingAndReadingOnTheSameBuffer() { $buffer = new Buffer(10); $int32be = 0.0; $string = 'hello!'; $buffer->writeInt32BE($int32be, 0); $buffer->write($string, 4); $this->assertSame($string, $buffer->read(4, 6)); $this->assertSame($int32be, $buffer->readInt32BE(0)); }