| Index: third_party/protobuf/php/tests/encode_decode_test.php
|
| diff --git a/third_party/protobuf/php/tests/encode_decode_test.php b/third_party/protobuf/php/tests/encode_decode_test.php
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..af9c04154d83e98a3e191ea512acdb4cf9b14947
|
| --- /dev/null
|
| +++ b/third_party/protobuf/php/tests/encode_decode_test.php
|
| @@ -0,0 +1,135 @@
|
| +<?php
|
| +
|
| +require_once('test_base.php');
|
| +require_once('test_util.php');
|
| +
|
| +use Google\Protobuf\RepeatedField;
|
| +use Google\Protobuf\GPBType;
|
| +use Foo\TestEnum;
|
| +use Foo\TestMessage;
|
| +use Foo\TestMessage_Sub;
|
| +use Foo\TestPackedMessage;
|
| +use Foo\TestUnpackedMessage;
|
| +
|
| +class EncodeDecodeTest extends TestBase
|
| +{
|
| +
|
| + public function testEncode()
|
| + {
|
| + $from = new TestMessage();
|
| + $this->expectEmptyFields($from);
|
| + $this->setFields($from);
|
| + $this->expectFields($from);
|
| +
|
| + $data = $from->encode();
|
| + $this->assertSame(TestUtil::getGoldenTestMessage(), $data);
|
| + }
|
| +
|
| + public function testDecode()
|
| + {
|
| + $to = new TestMessage();
|
| + $to->decode(TestUtil::getGoldenTestMessage());
|
| + $this->expectFields($to);
|
| + }
|
| +
|
| + public function testEncodeDecode()
|
| + {
|
| + $from = new TestMessage();
|
| + $this->expectEmptyFields($from);
|
| + $this->setFields($from);
|
| + $this->expectFields($from);
|
| +
|
| + $data = $from->encode();
|
| +
|
| + $to = new TestMessage();
|
| + $to->decode($data);
|
| + $this->expectFields($to);
|
| + }
|
| +
|
| + public function testEncodeDecodeEmpty()
|
| + {
|
| + $from = new TestMessage();
|
| + $this->expectEmptyFields($from);
|
| +
|
| + $data = $from->encode();
|
| +
|
| + $to = new TestMessage();
|
| + $to->decode($data);
|
| + $this->expectEmptyFields($to);
|
| + }
|
| +
|
| + public function testEncodeDecodeOneof()
|
| + {
|
| + $m = new TestMessage();
|
| +
|
| + $m->setOneofInt32(1);
|
| + $data = $m->encode();
|
| + $n = new TestMessage();
|
| + $n->decode($data);
|
| + $this->assertSame(1, $n->getOneofInt32());
|
| +
|
| + $m->setOneofFloat(2.0);
|
| + $data = $m->encode();
|
| + $n = new TestMessage();
|
| + $n->decode($data);
|
| + $this->assertSame(2.0, $n->getOneofFloat());
|
| +
|
| + $m->setOneofString('abc');
|
| + $data = $m->encode();
|
| + $n = new TestMessage();
|
| + $n->decode($data);
|
| + $this->assertSame('abc', $n->getOneofString());
|
| +
|
| + $sub_m = new TestMessage_Sub();
|
| + $sub_m->setA(1);
|
| + $m->setOneofMessage($sub_m);
|
| + $data = $m->encode();
|
| + $n = new TestMessage();
|
| + $n->decode($data);
|
| + $this->assertSame(1, $n->getOneofMessage()->getA());
|
| + }
|
| +
|
| + public function testPackedEncode()
|
| + {
|
| + $from = new TestPackedMessage();
|
| + TestUtil::setTestPackedMessage($from);
|
| + $this->assertSame(TestUtil::getGoldenTestPackedMessage(),
|
| + $from->encode());
|
| + }
|
| +
|
| + public function testPackedDecodePacked()
|
| + {
|
| + $to = new TestPackedMessage();
|
| + $to->decode(TestUtil::getGoldenTestPackedMessage());
|
| + TestUtil::assertTestPackedMessage($to);
|
| + }
|
| +
|
| + public function testPackedDecodeUnpacked()
|
| + {
|
| + $to = new TestPackedMessage();
|
| + $to->decode(TestUtil::getGoldenTestUnpackedMessage());
|
| + TestUtil::assertTestPackedMessage($to);
|
| + }
|
| +
|
| + public function testUnpackedEncode()
|
| + {
|
| + $from = new TestUnpackedMessage();
|
| + TestUtil::setTestPackedMessage($from);
|
| + $this->assertSame(TestUtil::getGoldenTestUnpackedMessage(),
|
| + $from->encode());
|
| + }
|
| +
|
| + public function testUnpackedDecodePacked()
|
| + {
|
| + $to = new TestUnpackedMessage();
|
| + $to->decode(TestUtil::getGoldenTestPackedMessage());
|
| + TestUtil::assertTestPackedMessage($to);
|
| + }
|
| +
|
| + public function testUnpackedDecodeUnpacked()
|
| + {
|
| + $to = new TestUnpackedMessage();
|
| + $to->decode(TestUtil::getGoldenTestUnpackedMessage());
|
| + TestUtil::assertTestPackedMessage($to);
|
| + }
|
| +}
|
|
|