Exemplo n.º 1
0
 public function testReadMessageWithUnknownField()
 {
     $message = new PhpBuf_Message_Example_Compatible_NewAPI();
     $writer = new PhpBuf_IO_Writer();
     $message->a = 150;
     $message->b = "Old API should ignore this field value";
     $message->write($writer);
     $reader = PhpBuf_IO_Reader::createFromWriter($writer);
     $message = new PhpBuf_Message_Example_Compatible_OldAPI();
     $message->read($reader, false);
     // disable the strict reading mode
     $this->assertEquals($message->a, 150);
 }
Exemplo n.º 2
0
 public function testNestedMessages()
 {
     $messageTest1 = new PhpBuf_Message_Example_Test1();
     $messageTest1->a = 150;
     $message = new PhpBuf_Message_Example_Test3();
     $message->c = $messageTest1;
     $writer = new PhpBuf_IO_Writer();
     $message->write($writer);
     $reader = PhpBuf_IO_Reader::createFromWriter($writer);
     $message = new PhpBuf_Message_Example_Test3();
     $message->read($reader);
     $this->assertType("PhpBuf_Message_Example_Test1", $message->c);
     $this->assertEquals(150, $message->c->a);
     $message->c->a = 130;
     $writer = new PhpBuf_IO_Writer();
     $message->write($writer);
     $this->assertEquals("1a 03 08 82 01", $this->bytesToHexString($writer->getData()));
 }
Exemplo n.º 3
0
 public function testMessageWriterReader()
 {
     $messagesArray = array();
     $namesArray = array();
     $main = new PhpBuf_Message_ExampleRepeat();
     $writer = new PhpBuf_IO_Writer();
     for ($i = 0; $i < 5; $i++) {
         $nested = new PhpBuf_Message_Example();
         $nested->id = $i;
         $nested->balance = -12345 + $i * 10;
         $nested->isAdmin = false;
         $nested->status = "deleted";
         $nested->name = "name for {$i}";
         $nested->bytes = "Some bytes for {$i}";
         $messagesArray[] = $nested;
     }
     for ($i = 0; $i < 3; $i++) {
         $namesArray[] = "name # {$i}";
     }
     $main->messages = $messagesArray;
     $main->name = $namesArray;
     $main->write($writer);
     $reader = PhpBuf_IO_Reader::createFromWriter($writer);
     $main = new PhpBuf_Message_ExampleRepeat();
     $main->read($reader);
     /**
      * Проверка
      */
     //print_r($main);
     $this->assertEquals("0a 28 08 00 10 f1 c0 01 18 00 20 02 2a 0a 6e 61 6d 65 20 66 6f 72 20 30 32 10 53 6f 6d 65 20 62 79 74 65 73 20 66 6f 72 20 30 0a 28 08 01 10 dd c0 01 18 00 20 02 2a 0a 6e 61 6d 65 20 66 6f 72 20 31 32 10 53 6f 6d 65 20 62 79 74 65 73 20 66 6f 72 20 31 0a 28 08 02 10 c9 c0 01 18 00 20 02 2a 0a 6e 61 6d 65 20 66 6f 72 20 32 32 10 53 6f 6d 65 20 62 79 74 65 73 20 66 6f 72 20 32 0a 28 08 03 10 b5 c0 01 18 00 20 02 2a 0a 6e 61 6d 65 20 66 6f 72 20 33 32 10 53 6f 6d 65 20 62 79 74 65 73 20 66 6f 72 20 33 0a 28 08 04 10 a1 c0 01 18 00 20 02 2a 0a 6e 61 6d 65 20 66 6f 72 20 34 32 10 53 6f 6d 65 20 62 79 74 65 73 20 66 6f 72 20 34 12 08 6e 61 6d 65 20 23 20 30 12 08 6e 61 6d 65 20 23 20 31 12 08 6e 61 6d 65 20 23 20 32", $this->bytesToHexString($writer->getData()));
     $this->assertEquals(5, count($main->messages));
     $this->assertEquals(3, count($main->name));
     for ($i = 0; $i < 3; $i++) {
         $this->assertEquals("name # {$i}", $main->name[$i]);
     }
 }
Exemplo n.º 4
0
Arquivo: test.php Projeto: undr/phpbuf
    echo ord($byte) . "\n";
}
$reader = PhpBuf_IO_Reader::createFromWriter($writer);
$message = new PhpBuf_Message_Example();
$message->read($reader);
echo "id: " . $message->id . "\n";
echo "balance: " . $message->balance . "\n";
if ($message->isAdmin === true) {
    echo "isAdmin: true\n";
}
echo "status: " . $message->status . "\n";
echo "name: " . $message->name . "\n";
$messagesArray = array();
$main = new PhpBuf_Message_ExampleRepeat();
$writer = new PhpBuf_IO_Writer();
for ($i = 0; $i < 5; $i++) {
    $nested = new PhpBuf_Message_Example();
    $nested->id = $i;
    $nested->balance = -12345 + $i * 10;
    $nested->isAdmin = false;
    $nested->status = "deleted";
    $nested->name = "name for {$i}";
    $nested->bytes = "Some bytes for {$i}";
    $messagesArray[] = $nested;
}
$main->messages = $messagesArray;
$main->write($writer);
$reader = PhpBuf_IO_Reader::createFromWriter($writer);
$main = new PhpBuf_Message_ExampleRepeat();
$main->read($reader);
print_r($main);
Exemplo n.º 5
0
 public function testReaderGet()
 {
     $reader = new PhpBuf_IO_Reader("String for test");
     $this->assertEquals("S", $reader->getByte());
     $this->assertEquals(1, $reader->getPosition());
     $this->assertEquals("t", $reader->getByte());
     $this->assertEquals(2, $reader->getPosition());
     $this->assertEquals("ring", $reader->getBytes(4));
     $this->assertEquals(6, $reader->getPosition());
     $reader->setPosition(7);
     $this->assertEquals(7, $reader->getPosition());
     $this->assertEquals("for", $reader->getBytes(3));
     $this->assertEquals(10, $reader->getPosition());
     $reader->redo();
     $this->assertEquals(7, $reader->getPosition());
     $this->assertEquals("for", $reader->getBytes(3));
     $this->assertEquals(10, $reader->getPosition());
 }