OLD | NEW |
(Empty) | |
| 1 <?php |
| 2 |
| 3 require_once('test.pb.php'); |
| 4 require_once('test_base.php'); |
| 5 require_once('test_util.php'); |
| 6 |
| 7 use Google\Protobuf\RepeatedField; |
| 8 use Google\Protobuf\GPBType; |
| 9 use Foo\TestEnum; |
| 10 use Foo\TestMessage; |
| 11 use Foo\TestMessage_Sub; |
| 12 use Foo\TestPackedMessage; |
| 13 use Foo\TestUnpackedMessage; |
| 14 |
| 15 class EncodeDecodeTest extends TestBase |
| 16 { |
| 17 |
| 18 public function testEncode() |
| 19 { |
| 20 $from = new TestMessage(); |
| 21 $this->expectEmptyFields($from); |
| 22 $this->setFields($from); |
| 23 $this->expectFields($from); |
| 24 |
| 25 $data = $from->encode(); |
| 26 $this->assertSame(TestUtil::getGoldenTestMessage(), $data); |
| 27 } |
| 28 |
| 29 public function testDecode() |
| 30 { |
| 31 $to = new TestMessage(); |
| 32 $to->decode(TestUtil::getGoldenTestMessage()); |
| 33 $this->expectFields($to); |
| 34 } |
| 35 |
| 36 public function testEncodeDecode() |
| 37 { |
| 38 $from = new TestMessage(); |
| 39 $this->expectEmptyFields($from); |
| 40 $this->setFields($from); |
| 41 $this->expectFields($from); |
| 42 |
| 43 $data = $from->encode(); |
| 44 |
| 45 $to = new TestMessage(); |
| 46 $to->decode($data); |
| 47 $this->expectFields($to); |
| 48 } |
| 49 |
| 50 public function testEncodeDecodeEmpty() |
| 51 { |
| 52 $from = new TestMessage(); |
| 53 $this->expectEmptyFields($from); |
| 54 |
| 55 $data = $from->encode(); |
| 56 |
| 57 $to = new TestMessage(); |
| 58 $to->decode($data); |
| 59 $this->expectEmptyFields($to); |
| 60 } |
| 61 |
| 62 public function testEncodeDecodeOneof() |
| 63 { |
| 64 $m = new TestMessage(); |
| 65 |
| 66 $m->setOneofInt32(1); |
| 67 $data = $m->encode(); |
| 68 $n = new TestMessage(); |
| 69 $n->decode($data); |
| 70 $this->assertSame(1, $n->getOneofInt32()); |
| 71 |
| 72 $m->setOneofFloat(2.0); |
| 73 $data = $m->encode(); |
| 74 $n = new TestMessage(); |
| 75 $n->decode($data); |
| 76 $this->assertSame(2.0, $n->getOneofFloat()); |
| 77 |
| 78 $m->setOneofString('abc'); |
| 79 $data = $m->encode(); |
| 80 $n = new TestMessage(); |
| 81 $n->decode($data); |
| 82 $this->assertSame('abc', $n->getOneofString()); |
| 83 |
| 84 $sub_m = new TestMessage_Sub(); |
| 85 $sub_m->setA(1); |
| 86 $m->setOneofMessage($sub_m); |
| 87 $data = $m->encode(); |
| 88 $n = new TestMessage(); |
| 89 $n->decode($data); |
| 90 $this->assertSame(1, $n->getOneofMessage()->getA()); |
| 91 } |
| 92 |
| 93 public function testPackedEncode() |
| 94 { |
| 95 $from = new TestPackedMessage(); |
| 96 TestUtil::setTestPackedMessage($from); |
| 97 $this->assertSame(TestUtil::getGoldenTestPackedMessage(), |
| 98 $from->encode()); |
| 99 } |
| 100 |
| 101 public function testPackedDecodePacked() |
| 102 { |
| 103 $to = new TestPackedMessage(); |
| 104 $to->decode(TestUtil::getGoldenTestPackedMessage()); |
| 105 TestUtil::assertTestPackedMessage($to); |
| 106 } |
| 107 |
| 108 public function testPackedDecodeUnpacked() |
| 109 { |
| 110 $to = new TestPackedMessage(); |
| 111 $to->decode(TestUtil::getGoldenTestUnpackedMessage()); |
| 112 TestUtil::assertTestPackedMessage($to); |
| 113 } |
| 114 |
| 115 public function testUnpackedEncode() |
| 116 { |
| 117 $from = new TestUnpackedMessage(); |
| 118 TestUtil::setTestPackedMessage($from); |
| 119 $this->assertSame(TestUtil::getGoldenTestUnpackedMessage(), |
| 120 $from->encode()); |
| 121 } |
| 122 |
| 123 public function testUnpackedDecodePacked() |
| 124 { |
| 125 $to = new TestUnpackedMessage(); |
| 126 $to->decode(TestUtil::getGoldenTestPackedMessage()); |
| 127 TestUtil::assertTestPackedMessage($to); |
| 128 } |
| 129 |
| 130 public function testUnpackedDecodeUnpacked() |
| 131 { |
| 132 $to = new TestUnpackedMessage(); |
| 133 $to->decode(TestUtil::getGoldenTestUnpackedMessage()); |
| 134 TestUtil::assertTestPackedMessage($to); |
| 135 } |
| 136 } |
OLD | NEW |