Initialize well known type values (#6713) * Initialize well known type values Also fixes #6667 * Revert unwanted change
diff --git a/php/tests/encode_decode_test.php b/php/tests/encode_decode_test.php index f2a5018..26b7656 100644 --- a/php/tests/encode_decode_test.php +++ b/php/tests/encode_decode_test.php
@@ -5,6 +5,7 @@ use Google\Protobuf\RepeatedField; use Google\Protobuf\GPBType; +use Foo\TestStringValue; use Foo\TestAny; use Foo\TestEnum; use Foo\TestMessage; @@ -167,6 +168,14 @@ $this->assertSame("\"a\"", $m->serializeToJsonString()); } + public function testEncodeStringValue() + { + $m = new TestStringValue(['field' => new StringValue(['value' => ''])]); + var_dump($m->getField()); + var_dump($m->serializeToJsonString()); + $this->assertSame("{\"field\":\"\"}", $m->serializeToJsonString()); + } + public function testDecodeTopLevelBytesValue() { $m = new BytesValue();
diff --git a/php/tests/memory_leak_test.php b/php/tests/memory_leak_test.php index 142f467..2873f34 100644 --- a/php/tests/memory_leak_test.php +++ b/php/tests/memory_leak_test.php
@@ -31,6 +31,7 @@ require_once('generated/Foo/TestPhpDoc.php'); require_once('generated/Foo/TestRandomFieldOrder.php'); require_once('generated/Foo/TestReverseFieldOrder.php'); +require_once('generated/Foo/TestStringValue.php'); require_once('generated/Foo/TestUnpackedMessage.php'); require_once('generated/Foo/testLowerCaseMessage.php'); require_once('generated/Foo/testLowerCaseEnum.php');
diff --git a/php/tests/proto/test.proto b/php/tests/proto/test.proto index 715f08b..ea00fec 100644 --- a/php/tests/proto/test.proto +++ b/php/tests/proto/test.proto
@@ -1,6 +1,7 @@ syntax = "proto3"; import 'google/protobuf/any.proto'; +import 'google/protobuf/wrappers.proto'; import 'google/protobuf/struct.proto'; import 'proto/test_include.proto'; import 'proto/test_no_namespace.proto'; @@ -207,3 +208,7 @@ message TestAny { google.protobuf.Any any = 1; } + +message TestStringValue { + google.protobuf.StringValue field = 1; +}