aboutsummaryrefslogtreecommitdiffhomepage
path: root/php/tests
diff options
context:
space:
mode:
authorGravatar Bo Yang <teboring@teboring0.svl.corp.google.com>2018-05-03 10:29:23 -0700
committerGravatar Bo Yang <teboring@google.com>2018-05-25 13:04:08 -0700
commit8b336f8c5a77ca4932b00203e485f9266f6f0c30 (patch)
tree401667c4e48bd64f789cb812af8ee4e2c2df4bc9 /php/tests
parentc9b404d23bdf3dd8f1556b19a27dcba40565e3e4 (diff)
Implement array constructor in php c extension.
Diffstat (limited to 'php/tests')
-rw-r--r--php/tests/generated_class_test.php66
-rw-r--r--php/tests/php_implementation_test.php81
2 files changed, 66 insertions, 81 deletions
diff --git a/php/tests/generated_class_test.php b/php/tests/generated_class_test.php
index 53d18ee7..fbee29bc 100644
--- a/php/tests/generated_class_test.php
+++ b/php/tests/generated_class_test.php
@@ -1171,4 +1171,70 @@ class GeneratedClassTest extends TestBase
$m = new testLowerCaseMessage();
$n = testLowerCaseEnum::VALUE;
}
+
+ #########################################################
+ # Test Array Constructor.
+ #########################################################
+
+ public function testArrayConstructor()
+ {
+ $m = new TestMessage([
+ 'optional_int32' => -42,
+ 'optional_int64' => -43,
+ 'optional_uint32' => 42,
+ 'optional_uint64' => 43,
+ 'optional_sint32' => -44,
+ 'optional_sint64' => -45,
+ 'optional_fixed32' => 46,
+ 'optional_fixed64' => 47,
+ 'optional_sfixed32' => -46,
+ 'optional_sfixed64' => -47,
+ 'optional_float' => 1.5,
+ 'optional_double' => 1.6,
+ 'optional_bool' => true,
+ 'optional_string' => 'a',
+ 'optional_bytes' => 'b',
+ 'optional_enum' => TestEnum::ONE,
+ 'optional_message' => new TestMessage_Sub([
+ 'a' => 33
+ ]),
+ 'repeated_int32' => [-42, -52],
+ 'repeated_int64' => [-43, -53],
+ 'repeated_uint32' => [42, 52],
+ 'repeated_uint64' => [43, 53],
+ 'repeated_sint32' => [-44, -54],
+ 'repeated_sint64' => [-45, -55],
+ 'repeated_fixed32' => [46, 56],
+ 'repeated_fixed64' => [47, 57],
+ 'repeated_sfixed32' => [-46, -56],
+ 'repeated_sfixed64' => [-47, -57],
+ 'repeated_float' => [1.5, 2.5],
+ 'repeated_double' => [1.6, 2.6],
+ 'repeated_bool' => [true, false],
+ 'repeated_string' => ['a', 'c'],
+ 'repeated_bytes' => ['b', 'd'],
+ 'repeated_enum' => [TestEnum::ZERO, TestEnum::ONE],
+ 'repeated_message' => [new TestMessage_Sub(['a' => 34]),
+ new TestMessage_Sub(['a' => 35])],
+ 'map_int32_int32' => [-62 => -62],
+ 'map_int64_int64' => [-63 => -63],
+ 'map_uint32_uint32' => [62 => 62],
+ 'map_uint64_uint64' => [63 => 63],
+ 'map_sint32_sint32' => [-64 => -64],
+ 'map_sint64_sint64' => [-65 => -65],
+ 'map_fixed32_fixed32' => [66 => 66],
+ 'map_fixed64_fixed64' => [67 => 67],
+ 'map_sfixed32_sfixed32' => [-68 => -68],
+ 'map_sfixed64_sfixed64' => [-69 => -69],
+ 'map_int32_float' => [1 => 3.5],
+ 'map_int32_double' => [1 => 3.6],
+ 'map_bool_bool' => [true => true],
+ 'map_string_string' => ['e' => 'e'],
+ 'map_int32_bytes' => [1 => 'f'],
+ 'map_int32_enum' => [1 => TestEnum::ONE],
+ 'map_int32_message' => [1 => new TestMessage_Sub(['a' => 36])],
+ ]);
+
+ TestUtil::assertTestMessage($m);
+ }
}
diff --git a/php/tests/php_implementation_test.php b/php/tests/php_implementation_test.php
index 720af132..6481473e 100644
--- a/php/tests/php_implementation_test.php
+++ b/php/tests/php_implementation_test.php
@@ -514,87 +514,6 @@ class ImplementationTest extends TestBase
$this->assertSame(166, $m->byteSize());
}
- public function testArrayConstructor()
- {
- $m = new TestMessage([
- 'optional_int32' => -42,
- 'optional_int64' => -43,
- 'optional_uint32' => 42,
- 'optional_uint64' => 43,
- 'optional_sint32' => -44,
- 'optional_sint64' => -45,
- 'optional_fixed32' => 46,
- 'optional_fixed64' => 47,
- 'optional_sfixed32' => -46,
- 'optional_sfixed64' => -47,
- 'optional_float' => 1.5,
- 'optional_double' => 1.6,
- 'optional_bool' => true,
- 'optional_string' => 'a',
- 'optional_bytes' => 'b',
- 'optional_enum' => TestEnum::ONE,
- 'optional_message' => new TestMessage_Sub([
- 'a' => 33
- ]),
- 'repeated_int32' => [-42, -52],
- 'repeated_int64' => [-43, -53],
- 'repeated_uint32' => [42, 52],
- 'repeated_uint64' => [43, 53],
- 'repeated_sint32' => [-44, -54],
- 'repeated_sint64' => [-45, -55],
- 'repeated_fixed32' => [46, 56],
- 'repeated_fixed64' => [47, 57],
- 'repeated_sfixed32' => [-46, -56],
- 'repeated_sfixed64' => [-47, -57],
- 'repeated_float' => [1.5, 2.5],
- 'repeated_double' => [1.6, 2.6],
- 'repeated_bool' => [true, false],
- 'repeated_string' => ['a', 'c'],
- 'repeated_bytes' => ['b', 'd'],
- 'repeated_enum' => [TestEnum::ZERO, TestEnum::ONE],
- 'repeated_message' => [
- new TestMessage_Sub(['a' => 34]),
- new TestMessage_Sub(['a' => 35]),
- ],
- 'map_int32_int32' => [-62 => -62],
- 'map_int64_int64' => [-63 => -63],
- 'map_uint32_uint32' => [62 => 62],
- 'map_uint64_uint64' => [63 => 63],
- 'map_sint32_sint32' => [-64 => -64],
- 'map_sint64_sint64' => [-65 => -65],
- 'map_fixed32_fixed32' => [66 => 66],
- 'map_fixed64_fixed64' => [67 => 67],
- 'map_sfixed32_sfixed32' => [-68 => -68],
- 'map_sfixed64_sfixed64' => [-69 => -69],
- 'map_int32_float' => [1 => 3.5],
- 'map_int32_double' => [1 => 3.6],
- 'map_bool_bool' => [true => true],
- 'map_string_string' => ['e' => 'e'],
- 'map_int32_bytes' => [1 => 'f'],
- 'map_int32_enum' => [1 => TestEnum::ONE],
- 'map_int32_message' => [1 => new TestMessage_Sub(['a' => 36])],
- ]);
-
- TestUtil::assertTestMessage($m);
-
- // Using message objects
- $m = new TestMessage([
- 'optional_message' => new TestMessage_Sub(['a' => 33]),
- 'repeated_message' => [
- new TestMessage_Sub(['a' => 34]),
- new TestMessage_Sub(['a' => 35]),
- ],
- 'map_int32_message' => [
- 1 => new TestMessage_Sub(['a' => 36])
- ],
- ]);
-
- $this->assertEquals(33, $m->getOptionalMessage()->getA());
- $this->assertEquals(34, $m->getRepeatedMessage()[0]->getA());
- $this->assertEquals(35, $m->getRepeatedMessage()[1]->getA());
- $this->assertEquals(36, $m->getMapInt32Message()[1]->getA());
- }
-
/**
* @expectedException UnexpectedValueException
* @expectedExceptionMessage Invalid message property: optionalInt32