diff options
Diffstat (limited to 'php/tests')
-rw-r--r-- | php/tests/encode_decode_test.php | 27 | ||||
-rwxr-xr-x | php/tests/gdb_test.sh | 2 | ||||
-rw-r--r-- | php/tests/memory_leak_test.php | 4 | ||||
-rw-r--r-- | php/tests/proto/test.proto | 2 |
4 files changed, 34 insertions, 1 deletions
diff --git a/php/tests/encode_decode_test.php b/php/tests/encode_decode_test.php index b43dffb4..4dca922b 100644 --- a/php/tests/encode_decode_test.php +++ b/php/tests/encode_decode_test.php @@ -441,6 +441,33 @@ class EncodeDecodeTest extends TestBase $m->mergeFromString(hex2bin('D205')); } + public function testUnknown() + { + $m = new TestMessage(); + $from = hex2bin('F80601'); + $m->mergeFromString($from); + $to = $m->serializeToString(); + $this->assertSame(bin2hex($from), bin2hex($to)); + + $m = new TestMessage(); + $from = hex2bin('F9060000000000000000'); + $m->mergeFromString($from); + $to = $m->serializeToString(); + $this->assertSame(bin2hex($from), bin2hex($to)); + + $m = new TestMessage(); + $from = hex2bin('FA0600'); + $m->mergeFromString($from); + $to = $m->serializeToString(); + $this->assertSame(bin2hex($from), bin2hex($to)); + + $m = new TestMessage(); + $from = hex2bin('FD0600000000'); + $m->mergeFromString($from); + $to = $m->serializeToString(); + $this->assertSame(bin2hex($from), bin2hex($to)); + } + public function testJsonEncode() { $from = new TestMessage(); diff --git a/php/tests/gdb_test.sh b/php/tests/gdb_test.sh index 0809bef3..484e2edf 100755 --- a/php/tests/gdb_test.sh +++ b/php/tests/gdb_test.sh @@ -3,7 +3,7 @@ # gdb --args php -dextension=../ext/google/protobuf/modules/protobuf.so `which # phpunit` --bootstrap autoload.php tmp_test.php # -gdb --args php -dextension=../ext/google/protobuf/modules/protobuf.so `which phpunit` --bootstrap autoload.php well_known_test.php +gdb --args php -dextension=../ext/google/protobuf/modules/protobuf.so `which phpunit` --bootstrap autoload.php encode_decode_test.php # # gdb --args php -dextension=../ext/google/protobuf/modules/protobuf.so memory_leak_test.php # diff --git a/php/tests/memory_leak_test.php b/php/tests/memory_leak_test.php index 7c3a1801..b76c8bff 100644 --- a/php/tests/memory_leak_test.php +++ b/php/tests/memory_leak_test.php @@ -101,6 +101,10 @@ $n = new TestMessage(); $n->mergeFromString($data); assert(1 === $n->getOneofMessage()->getA()); +$m = new TestMessage(); +$m->mergeFromString(hex2bin('F80601')); +assert('F80601', bin2hex($m->serializeToString())); + # $from = new TestMessage(); # $to = new TestMessage(); # TestUtil::setTestMessage($from); diff --git a/php/tests/proto/test.proto b/php/tests/proto/test.proto index 56cba446..d0109d83 100644 --- a/php/tests/proto/test.proto +++ b/php/tests/proto/test.proto @@ -115,6 +115,8 @@ message TestMessage { message Empty { int32 a = 1; } + + reserved 111; } enum TestEnum { |