diff options
| author | Paul Yang <TeBoring@users.noreply.github.com> | 2019-01-23 12:44:20 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-01-23 12:44:20 -0800 |
| commit | d750fbf648256c7c631f51ffdbf67d7c18b0114e (patch) | |
| tree | e9c2bab5239d05edf170b23cc96e9bc238395f17 /php/tests/array_test.php | |
| parent | 30851ca2662c5a3e8323432bc660e37345f8fae1 (diff) | |
| download | platform_external_protobuf-d750fbf648256c7c631f51ffdbf67d7c18b0114e.tar.gz platform_external_protobuf-d750fbf648256c7c631f51ffdbf67d7c18b0114e.tar.bz2 platform_external_protobuf-d750fbf648256c7c631f51ffdbf67d7c18b0114e.zip | |
Fix more issues for reference values (#5613)
* Fix more issues for reference values
* Revert change in gdb test
* Add more tests
Diffstat (limited to 'php/tests/array_test.php')
| -rw-r--r-- | php/tests/array_test.php | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/php/tests/array_test.php b/php/tests/array_test.php index d47a10776..b25140408 100644 --- a/php/tests/array_test.php +++ b/php/tests/array_test.php @@ -533,31 +533,39 @@ class RepeatedFieldTest extends \PHPUnit\Framework\TestCase # Test reference in array ######################################################### - public function testArrayElementIsReference() + public function testArrayElementIsReferenceInSetters() { + // Bool elements + $values = [true]; + array_walk($values, function (&$value) {}); $m = new TestMessage(); - $subs = [1, 2]; - - foreach ($subs as &$sub) { - $sub = new Sub(['a' => $sub]); - } + $m->setRepeatedBool($values); - $m->setRepeatedMessage($subs); - } + // Int32 elements + $values = [1]; + array_walk($values, function (&$value) {}); + $m = new TestMessage(); + $m->setRepeatedInt32($values); - public function testArrayIsReference() - { - $keys = [['repeated_message' => [['a' => 1]]]]; + // Double elements + $values = [1.0]; + array_walk($values, function (&$value) {}); + $m = new TestMessage(); + $m->setRepeatedDouble($values); - foreach ($keys as &$key) { - foreach ($key['repeated_message'] as &$element) { - $element = new Sub($element); - } - $key = new TestMessage($key); - } + // String elements + $values = ['a']; + array_walk($values, function (&$value) {}); + $m = new TestMessage(); + $m->setRepeatedString($values); + // Message elements $m = new TestMessage(); - $m->setRepeatedDeep($keys); + $subs = [1, 2]; + foreach ($subs as &$sub) { + $sub = new Sub(['a' => $sub]); + } + $m->setRepeatedMessage($subs); } ######################################################### |
