aboutsummaryrefslogtreecommitdiff
path: root/php
diff options
context:
space:
mode:
authorPaul Yang <TeBoring@users.noreply.github.com>2019-05-24 10:00:09 -0700
committerGitHub <noreply@github.com>2019-05-24 10:00:09 -0700
commit9a8ef05a34dab7583b6f253daca294d6b1bfb187 (patch)
tree6ac09ab42aad71c4c490987d5fbba82dac16f55d /php
parente038b1e7c0901d6abeaf02a893299487b15beb66 (diff)
downloadprotobuf-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.proto11
-rw-r--r--php/tests/wrapper_type_setters_test.php38
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
*/