Esempio n. 1
0
 public function writeVariantMap(array $map)
 {
     $writer = new Writer(null, $this->types);
     // legacy protocol prefixes map with type information
     $writer->writeQVariant($map);
     return (string) $writer;
 }
Esempio n. 2
0
 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]);
 }
Esempio n. 3
0
 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());
 }