public function writeVariantMap(array $map) { $writer = new Writer(null, $this->types); // legacy protocol prefixes map with type information $writer->writeQVariant($map); return (string) $writer; }
public function testReceiveHeartBeatReplyWithCorrectTimeZone() { date_default_timezone_set('Etc/GMT-1'); $writer = new Writer(); $writer->writeQVariant(array(Protocol::REQUEST_HEARTBEATREPLY, new QVariant(new \DateTime('14:20:00.123+00:00'), Types::TYPE_QTIME))); $packet = (string) $writer; $values = $this->protocol->readVariant($packet); $this->assertCount(2, $values); $this->assertEquals(Protocol::REQUEST_HEARTBEATREPLY, $values[0]); $this->assertEquals(new \DateTime('15:20:00.123', new \DateTimeZone('Etc/GMT-1')), $values[1]); }
public function testQUserType() { $in = array('id' => 62000, 'name' => 'test'); $writer = new Writer(null, null, array('user' => function ($data, Writer $writer) { $writer->writeUShort($data['id']); $writer->writeQString($data['name']); })); $writer->writeQVariant(new QVariant($in, 'user')); $data = (string) $writer; $reader = Reader::fromString($data, null, array('user' => function (Reader $reader) { return array('id' => $reader->readUShort(), 'name' => $reader->readQString()); })); $this->assertEquals($in, $reader->readQVariant()); }