diff options
author | Paul Yang <TeBoring@users.noreply.github.com> | 2019-05-24 10:00:09 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-24 10:00:09 -0700 |
commit | 9a8ef05a34dab7583b6f253daca294d6b1bfb187 (patch) | |
tree | 6ac09ab42aad71c4c490987d5fbba82dac16f55d /php | |
parent | e038b1e7c0901d6abeaf02a893299487b15beb66 (diff) | |
download | protobuf-9a8ef05a34dab7583b6f253daca294d6b1bfb187.tar.gz |
Append field number to accessors if there is conflict (#6169)
Previously, foo_value and foo (wrapper field) will both have get/setFooValue
Diffstat (limited to 'php')
-rw-r--r-- | php/tests/proto/test_wrapper_type_setters.proto | 11 | ||||
-rw-r--r-- | php/tests/wrapper_type_setters_test.php | 38 |
2 files changed, 49 insertions, 0 deletions
diff --git a/php/tests/proto/test_wrapper_type_setters.proto b/php/tests/proto/test_wrapper_type_setters.proto index 41ca7f3f3..119bd2547 100644 --- a/php/tests/proto/test_wrapper_type_setters.proto +++ b/php/tests/proto/test_wrapper_type_setters.proto @@ -24,3 +24,14 @@ message TestWrapperSetters { map<string, google.protobuf.StringValue> map_string_value = 13; } + +message TestWrapperAccessorConflicts { + int32 normal_vs_wrapper_value = 1; + google.protobuf.Int32Value normal_vs_wrapper = 2; + + int32 normal_vs_normal_value = 3; + int32 normal_vs_normal = 4; + + google.protobuf.Int32Value wrapper_vs_wrapper_value = 5; + google.protobuf.Int32Value wrapper_vs_wrapper = 6; +} diff --git a/php/tests/wrapper_type_setters_test.php b/php/tests/wrapper_type_setters_test.php index 5509a175a..35e3a7dec 100644 --- a/php/tests/wrapper_type_setters_test.php +++ b/php/tests/wrapper_type_setters_test.php @@ -16,6 +16,44 @@ use Google\Protobuf\UInt64Value; class WrapperTypeSettersTest extends TestBase { + public function testConflictNormalVsWrapper() + { + $m = new Foo\TestWrapperAccessorConflicts(); + + $m->setNormalVsWrapperValue1(1); + $this->assertSame(1, $m->getNormalVsWrapperValue1()); + + $m->setNormalVsWrapperValue2(1); + $this->assertSame(1, $m->getNormalVsWrapperValue2()); + + $wrapper = new Int32Value(["value" => 1]); + $m->setNormalVsWrapper($wrapper); + $this->assertSame(1, $m->getNormalVsWrapper()->getValue()); + } + + public function testConflictNormalVsNormal() + { + $m = new Foo\TestWrapperAccessorConflicts(); + + $m->setNormalVsNormalValue(1); + $this->assertSame(1, $m->getNormalVsNormalValue()); + + $m->setNormalVsNormal(1); + $this->assertSame(1, $m->getNormalVsNormal()); + } + + public function testConflictWrapperVsWrapper() + { + $m = new Foo\TestWrapperAccessorConflicts(); + + $m->setWrapperVsWrapperValueValue(1); + $this->assertSame(1, $m->getWrapperVsWrapperValueValue()); + + $wrapper = new Int32Value(["value" => 1]); + $m->setWrapperVsWrapperValue5($wrapper); + $this->assertSame(1, $m->getWrapperVsWrapperValue5()->getValue()); + } + /** * @dataProvider gettersAndSettersDataProvider */ |