diff options
Diffstat (limited to 'third_party/protobuf/3.4.0/php/tests/generated_class_test.php')
-rw-r--r-- | third_party/protobuf/3.4.0/php/tests/generated_class_test.php | 718 |
1 files changed, 0 insertions, 718 deletions
diff --git a/third_party/protobuf/3.4.0/php/tests/generated_class_test.php b/third_party/protobuf/3.4.0/php/tests/generated_class_test.php deleted file mode 100644 index 86e68683c0..0000000000 --- a/third_party/protobuf/3.4.0/php/tests/generated_class_test.php +++ /dev/null @@ -1,718 +0,0 @@ -<?php - -require_once('generated/NoNamespaceEnum.php'); -require_once('generated/NoNamespaceMessage.php'); -require_once('test_base.php'); -require_once('test_util.php'); - -use Google\Protobuf\Internal\RepeatedField; -use Google\Protobuf\Internal\MapField; -use Google\Protobuf\Internal\GPBType; -use Foo\TestEnum; -use Foo\TestIncludeNamespaceMessage; -use Foo\TestIncludePrefixMessage; -use Foo\TestMessage; -use Foo\TestMessage_Sub; -use Foo\TestReverseFieldOrder; -use Php\Test\TestNamespace; - -class GeneratedClassTest extends TestBase -{ - - ######################################################### - # Test field accessors. - ######################################################### - - public function testSetterGetter() - { - $m = new TestMessage(); - $m->setOptionalInt32(1); - $this->assertSame(1, $m->getOptionalInt32()); - } - - ######################################################### - # Test int32 field. - ######################################################### - - public function testInt32Field() - { - $m = new TestMessage(); - - // Set integer. - $m->setOptionalInt32(MAX_INT32); - $this->assertSame(MAX_INT32, $m->getOptionalInt32()); - $m->setOptionalInt32(MIN_INT32); - $this->assertSame(MIN_INT32, $m->getOptionalInt32()); - - // Set float. - $m->setOptionalInt32(1.1); - $this->assertSame(1, $m->getOptionalInt32()); - $m->setOptionalInt32(MAX_INT32_FLOAT); - $this->assertSame(MAX_INT32, $m->getOptionalInt32()); - $m->setOptionalInt32(MIN_INT32_FLOAT); - $this->assertSame(MIN_INT32, $m->getOptionalInt32()); - - // Set string. - $m->setOptionalInt32('2'); - $this->assertSame(2, $m->getOptionalInt32()); - $m->setOptionalInt32('3.1'); - $this->assertSame(3, $m->getOptionalInt32()); - $m->setOptionalInt32(MAX_INT32_STRING); - $this->assertSame(MAX_INT32, $m->getOptionalInt32()); - $m->setOptionalInt32(MIN_INT32_STRING); - $this->assertSame(MIN_INT32, $m->getOptionalInt32()); - } - - ######################################################### - # Test uint32 field. - ######################################################### - - public function testUint32Field() - { - $m = new TestMessage(); - - // Set integer. - $m->setOptionalUint32(MAX_UINT32); - $this->assertSame(-1, $m->getOptionalUint32()); - $m->setOptionalUint32(-1); - $this->assertSame(-1, $m->getOptionalUint32()); - $m->setOptionalUint32(MIN_UINT32); - $this->assertSame(MIN_INT32, $m->getOptionalUint32()); - - // Set float. - $m->setOptionalUint32(1.1); - $this->assertSame(1, $m->getOptionalUint32()); - $m->setOptionalUint32(MAX_UINT32_FLOAT); - $this->assertSame(-1, $m->getOptionalUint32()); - $m->setOptionalUint32(-1.0); - $this->assertSame(-1, $m->getOptionalUint32()); - $m->setOptionalUint32(MIN_UINT32_FLOAT); - $this->assertSame(MIN_INT32, $m->getOptionalUint32()); - - // Set string. - $m->setOptionalUint32('2'); - $this->assertSame(2, $m->getOptionalUint32()); - $m->setOptionalUint32('3.1'); - $this->assertSame(3, $m->getOptionalUint32()); - $m->setOptionalUint32(MAX_UINT32_STRING); - $this->assertSame(-1, $m->getOptionalUint32()); - $m->setOptionalUint32('-1.0'); - $this->assertSame(-1, $m->getOptionalUint32()); - $m->setOptionalUint32(MIN_UINT32_STRING); - $this->assertSame(MIN_INT32, $m->getOptionalUint32()); - } - - ######################################################### - # Test int64 field. - ######################################################### - - public function testInt64Field() - { - $m = new TestMessage(); - - // Set integer. - $m->setOptionalInt64(MAX_INT64); - $this->assertSame(MAX_INT64, $m->getOptionalInt64()); - $m->setOptionalInt64(MIN_INT64); - $this->assertEquals(MIN_INT64, $m->getOptionalInt64()); - - // Set float. - $m->setOptionalInt64(1.1); - if (PHP_INT_SIZE == 4) { - $this->assertSame('1', $m->getOptionalInt64()); - } else { - $this->assertSame(1, $m->getOptionalInt64()); - } - - // Set string. - $m->setOptionalInt64('2'); - if (PHP_INT_SIZE == 4) { - $this->assertSame('2', $m->getOptionalInt64()); - } else { - $this->assertSame(2, $m->getOptionalInt64()); - } - - $m->setOptionalInt64('3.1'); - if (PHP_INT_SIZE == 4) { - $this->assertSame('3', $m->getOptionalInt64()); - } else { - $this->assertSame(3, $m->getOptionalInt64()); - } - - $m->setOptionalInt64(MAX_INT64_STRING); - if (PHP_INT_SIZE == 4) { - $this->assertSame(MAX_INT64_STRING, $m->getOptionalInt64()); - } else { - $this->assertSame(MAX_INT64, $m->getOptionalInt64()); - } - - $m->setOptionalInt64(MIN_INT64_STRING); - if (PHP_INT_SIZE == 4) { - $this->assertSame(MIN_INT64_STRING, $m->getOptionalInt64()); - } else { - $this->assertSame(MIN_INT64, $m->getOptionalInt64()); - } - } - - ######################################################### - # Test uint64 field. - ######################################################### - - public function testUint64Field() - { - $m = new TestMessage(); - - // Set integer. - $m->setOptionalUint64(MAX_UINT64); - if (PHP_INT_SIZE == 4) { - $this->assertSame(MAX_UINT64_STRING, $m->getOptionalUint64()); - } else { - $this->assertSame(MAX_UINT64, $m->getOptionalUint64()); - } - - // Set float. - $m->setOptionalUint64(1.1); - if (PHP_INT_SIZE == 4) { - $this->assertSame('1', $m->getOptionalUint64()); - } else { - $this->assertSame(1, $m->getOptionalUint64()); - } - - // Set string. - $m->setOptionalUint64('2'); - if (PHP_INT_SIZE == 4) { - $this->assertSame('2', $m->getOptionalUint64()); - } else { - $this->assertSame(2, $m->getOptionalUint64()); - } - - $m->setOptionalUint64('3.1'); - if (PHP_INT_SIZE == 4) { - $this->assertSame('3', $m->getOptionalUint64()); - } else { - $this->assertSame(3, $m->getOptionalUint64()); - } - - $m->setOptionalUint64(MAX_UINT64_STRING); - if (PHP_INT_SIZE == 4) { - $this->assertSame(MAX_UINT64_STRING, $m->getOptionalUint64()); - } else { - $this->assertSame(MAX_UINT64, $m->getOptionalUint64()); - } - } - - ######################################################### - # Test enum field. - ######################################################### - - public function testEnumField() - { - $m = new TestMessage(); - - // Set enum. - $m->setOptionalEnum(TestEnum::ONE); - $this->assertEquals(TestEnum::ONE, $m->getOptionalEnum()); - - // Set integer. - $m->setOptionalEnum(1); - $this->assertEquals(TestEnum::ONE, $m->getOptionalEnum()); - - // Set float. - $m->setOptionalEnum(1.1); - $this->assertEquals(TestEnum::ONE, $m->getOptionalEnum()); - - // Set string. - $m->setOptionalEnum("1"); - $this->assertEquals(TestEnum::ONE, $m->getOptionalEnum()); - } - - public function testNestedEnum() - { - $m = new TestMessage(); - $m->setOptionalNestedEnum(\Foo\TestMessage_NestedEnum::ZERO); - } - - ######################################################### - # Test float field. - ######################################################### - - public function testFloatField() - { - $m = new TestMessage(); - - // Set integer. - $m->setOptionalFloat(1); - $this->assertEquals(1.0, $m->getOptionalFloat(), '', MAX_FLOAT_DIFF); - - // Set float. - $m->setOptionalFloat(1.1); - $this->assertEquals(1.1, $m->getOptionalFloat(), '', MAX_FLOAT_DIFF); - - // Set string. - $m->setOptionalFloat('2'); - $this->assertEquals(2.0, $m->getOptionalFloat(), '', MAX_FLOAT_DIFF); - $m->setOptionalFloat('3.1'); - $this->assertEquals(3.1, $m->getOptionalFloat(), '', MAX_FLOAT_DIFF); - } - - ######################################################### - # Test double field. - ######################################################### - - public function testDoubleField() - { - $m = new TestMessage(); - - // Set integer. - $m->setOptionalDouble(1); - $this->assertEquals(1.0, $m->getOptionalDouble(), '', MAX_FLOAT_DIFF); - - // Set float. - $m->setOptionalDouble(1.1); - $this->assertEquals(1.1, $m->getOptionalDouble(), '', MAX_FLOAT_DIFF); - - // Set string. - $m->setOptionalDouble('2'); - $this->assertEquals(2.0, $m->getOptionalDouble(), '', MAX_FLOAT_DIFF); - $m->setOptionalDouble('3.1'); - $this->assertEquals(3.1, $m->getOptionalDouble(), '', MAX_FLOAT_DIFF); - } - - ######################################################### - # Test bool field. - ######################################################### - - public function testBoolField() - { - $m = new TestMessage(); - - // Set bool. - $m->setOptionalBool(true); - $this->assertSame(true, $m->getOptionalBool()); - - // Set integer. - $m->setOptionalBool(-1); - $this->assertSame(true, $m->getOptionalBool()); - - // Set float. - $m->setOptionalBool(1.1); - $this->assertSame(true, $m->getOptionalBool()); - - // Set string. - $m->setOptionalBool(''); - $this->assertSame(false, $m->getOptionalBool()); - } - - ######################################################### - # Test string field. - ######################################################### - - public function testStringField() - { - $m = new TestMessage(); - - // Set string. - $m->setOptionalString('abc'); - $this->assertSame('abc', $m->getOptionalString()); - - // Set integer. - $m->setOptionalString(1); - $this->assertSame('1', $m->getOptionalString()); - - // Set double. - $m->setOptionalString(1.1); - $this->assertSame('1.1', $m->getOptionalString()); - - // Set bool. - $m->setOptionalString(true); - $this->assertSame('1', $m->getOptionalString()); - } - - ######################################################### - # Test bytes field. - ######################################################### - - public function testBytesField() - { - $m = new TestMessage(); - - // Set string. - $m->setOptionalBytes('abc'); - $this->assertSame('abc', $m->getOptionalBytes()); - - // Set integer. - $m->setOptionalBytes(1); - $this->assertSame('1', $m->getOptionalBytes()); - - // Set double. - $m->setOptionalBytes(1.1); - $this->assertSame('1.1', $m->getOptionalBytes()); - - // Set bool. - $m->setOptionalBytes(true); - $this->assertSame('1', $m->getOptionalBytes()); - } - - public function testBytesFieldInvalidUTF8Success() - { - $m = new TestMessage(); - $hex = hex2bin("ff"); - $m->setOptionalBytes($hex); - } - - ######################################################### - # Test message field. - ######################################################### - - public function testMessageField() - { - $m = new TestMessage(); - - $sub_m = new TestMessage_Sub(); - $sub_m->setA(1); - $m->setOptionalMessage($sub_m); - $this->assertSame(1, $m->getOptionalMessage()->getA()); - - $null = null; - $m->setOptionalMessage($null); - $this->assertNull($m->getOptionalMessage()); - } - - ######################################################### - # Test repeated field. - ######################################################### - - public function testRepeatedField() - { - $m = new TestMessage(); - - $repeated_int32 = new RepeatedField(GPBType::INT32); - $m->setRepeatedInt32($repeated_int32); - $this->assertSame($repeated_int32, $m->getRepeatedInt32()); - } - - public function testRepeatedFieldViaArray() - { - $m = new TestMessage(); - - $arr = array(); - $m->setRepeatedInt32($arr); - $this->assertSame(0, count($m->getRepeatedInt32())); - - $arr = array(1, 2.1, "3"); - $m->setRepeatedInt32($arr); - $this->assertTrue($m->getRepeatedInt32() instanceof RepeatedField); - $this->assertSame("Google\Protobuf\Internal\RepeatedField", - get_class($m->getRepeatedInt32())); - $this->assertSame(3, count($m->getRepeatedInt32())); - $this->assertSame(1, $m->getRepeatedInt32()[0]); - $this->assertSame(2, $m->getRepeatedInt32()[1]); - $this->assertSame(3, $m->getRepeatedInt32()[2]); - $this->assertFalse($arr instanceof RepeatedField); - } - - ######################################################### - # Test map field. - ######################################################### - - public function testMapField() - { - $m = new TestMessage(); - - $map_int32_int32 = new MapField(GPBType::INT32, GPBType::INT32); - $m->setMapInt32Int32($map_int32_int32); - $this->assertSame($map_int32_int32, $m->getMapInt32Int32()); - } - - public function testMapFieldViaArray() - { - $m = new TestMessage(); - - $dict = array(); - $m->setMapInt32Int32($dict); - $this->assertSame(0, count($m->getMapInt32Int32())); - - $dict = array(5 => 5, 6.1 => 6.1, "7" => "7"); - $m->setMapInt32Int32($dict); - $this->assertTrue($m->getMapInt32Int32() instanceof MapField); - $this->assertSame(3, count($m->getMapInt32Int32())); - $this->assertSame(5, $m->getMapInt32Int32()[5]); - $this->assertSame(6, $m->getMapInt32Int32()[6]); - $this->assertSame(7, $m->getMapInt32Int32()[7]); - $this->assertFalse($dict instanceof MapField); - } - - ######################################################### - # Test oneof field. - ######################################################### - - public function testOneofField() { - $m = new TestMessage(); - - $this->assertSame("", $m->getMyOneof()); - - $m->setOneofInt32(1); - $this->assertSame(1, $m->getOneofInt32()); - $this->assertSame(0.0, $m->getOneofFloat()); - $this->assertSame('', $m->getOneofString()); - $this->assertSame(NULL, $m->getOneofMessage()); - $this->assertSame("oneof_int32", $m->getMyOneof()); - - $m->setOneofFloat(2.0); - $this->assertSame(0, $m->getOneofInt32()); - $this->assertSame(2.0, $m->getOneofFloat()); - $this->assertSame('', $m->getOneofString()); - $this->assertSame(NULL, $m->getOneofMessage()); - $this->assertSame("oneof_float", $m->getMyOneof()); - - $m->setOneofString('abc'); - $this->assertSame(0, $m->getOneofInt32()); - $this->assertSame(0.0, $m->getOneofFloat()); - $this->assertSame('abc', $m->getOneofString()); - $this->assertSame(NULL, $m->getOneofMessage()); - $this->assertSame("oneof_string", $m->getMyOneof()); - - $sub_m = new TestMessage_Sub(); - $sub_m->setA(1); - $m->setOneofMessage($sub_m); - $this->assertSame(0, $m->getOneofInt32()); - $this->assertSame(0.0, $m->getOneofFloat()); - $this->assertSame('', $m->getOneofString()); - $this->assertSame(1, $m->getOneofMessage()->getA()); - $this->assertSame("oneof_message", $m->getMyOneof()); - } - - ######################################################### - # Test clear method. - ######################################################### - - public function testMessageClear() - { - $m = new TestMessage(); - $this->setFields($m); - $this->expectFields($m); - $m->clear(); - $this->expectEmptyFields($m); - } - - ######################################################### - # Test mergeFrom method. - ######################################################### - - public function testMessageMergeFrom() - { - $m = new TestMessage(); - $this->setFields($m); - $this->expectFields($m); - $arr = $m->getOptionalMessage()->getB(); - $arr[] = 1; - - $n = new TestMessage(); - - // Singular - $n->setOptionalInt32(100); - $sub1 = new TestMessage_Sub(); - $sub1->setA(101); - - $b = $sub1->getB(); - $b[] = 102; - $sub1->setB($b); - - $n->setOptionalMessage($sub1); - - // Repeated - $repeatedInt32 = $n->getRepeatedInt32(); - $repeatedInt32[] = 200; - $n->setRepeatedInt32($repeatedInt32); - - $repeatedString = $n->getRepeatedString(); - $repeatedString[] = 'abc'; - $n->setRepeatedString($repeatedString); - - $sub2 = new TestMessage_Sub(); - $sub2->setA(201); - $repeatedMessage = $n->getRepeatedMessage(); - $repeatedMessage[] = $sub2; - $n->setRepeatedMessage($repeatedMessage); - - // Map - $mapInt32Int32 = $n->getMapInt32Int32(); - $mapInt32Int32[1] = 300; - $mapInt32Int32[-62] = 301; - $n->setMapInt32Int32($mapInt32Int32); - - $mapStringString = $n->getMapStringString(); - $mapStringString['def'] = 'def'; - $n->setMapStringString($mapStringString); - - $mapInt32Message = $n->getMapInt32Message(); - $mapInt32Message[1] = new TestMessage_Sub(); - $mapInt32Message[1]->setA(302); - $mapInt32Message[2] = new TestMessage_Sub(); - $mapInt32Message[2]->setA(303); - $n->setMapInt32Message($mapInt32Message); - - $m->mergeFrom($n); - - $this->assertSame(100, $m->getOptionalInt32()); - $this->assertSame(42, $m->getOptionalUint32()); - $this->assertSame(101, $m->getOptionalMessage()->getA()); - $this->assertSame(2, count($m->getOptionalMessage()->getB())); - $this->assertSame(1, $m->getOptionalMessage()->getB()[0]); - $this->assertSame(102, $m->getOptionalMessage()->getB()[1]); - - $this->assertSame(3, count($m->getRepeatedInt32())); - $this->assertSame(200, $m->getRepeatedInt32()[2]); - $this->assertSame(2, count($m->getRepeatedUint32())); - $this->assertSame(3, count($m->getRepeatedString())); - $this->assertSame('abc', $m->getRepeatedString()[2]); - $this->assertSame(3, count($m->getRepeatedMessage())); - $this->assertSame(201, $m->getRepeatedMessage()[2]->getA()); - - $this->assertSame(2, count($m->getMapInt32Int32())); - $this->assertSame(300, $m->getMapInt32Int32()[1]); - $this->assertSame(301, $m->getMapInt32Int32()[-62]); - $this->assertSame(1, count($m->getMapUint32Uint32())); - $this->assertSame(2, count($m->getMapStringString())); - $this->assertSame('def', $m->getMapStringString()['def']); - - $this->assertSame(2, count($m->getMapInt32Message())); - $this->assertSame(302, $m->getMapInt32Message()[1]->getA()); - $this->assertSame(303, $m->getMapInt32Message()[2]->getA()); - - $this->assertSame("", $m->getMyOneof()); - - // Check sub-messages are copied by value. - $n->getOptionalMessage()->setA(-101); - $this->assertSame(101, $m->getOptionalMessage()->getA()); - - $repeatedMessage = $n->getRepeatedMessage(); - $repeatedMessage[0]->setA(-201); - $n->setRepeatedMessage($repeatedMessage); - $this->assertSame(201, $m->getRepeatedMessage()[2]->getA()); - - $mapInt32Message = $n->getMapInt32Message(); - $mapInt32Message[1]->setA(-302); - $n->setMapInt32Message($mapInt32Message); - - $this->assertSame(302, $m->getMapInt32Message()[1]->getA()); - - // Test merge oneof. - $m = new TestMessage(); - - $n = new TestMessage(); - $n->setOneofInt32(1); - $m->mergeFrom($n); - $this->assertSame(1, $m->getOneofInt32()); - - $sub = new TestMessage_Sub(); - $n->setOneofMessage($sub); - $n->getOneofMessage()->setA(400); - $m->mergeFrom($n); - $this->assertSame(400, $m->getOneofMessage()->getA()); - $n->getOneofMessage()->setA(-400); - $this->assertSame(400, $m->getOneofMessage()->getA()); - - // Test all fields - $m = new TestMessage(); - $n = new TestMessage(); - $this->setFields($m); - $n->mergeFrom($m); - $this->expectFields($n); - } - - ######################################################### - # Test message/enum without namespace. - ######################################################### - - public function testMessageWithoutNamespace() - { - $m = new TestMessage(); - $sub = new NoNameSpaceMessage(); - $m->setOptionalNoNamespaceMessage($sub); - $repeatedNoNamespaceMessage = $m->getRepeatedNoNamespaceMessage(); - $repeatedNoNamespaceMessage[] = new NoNameSpaceMessage(); - $m->setRepeatedNoNamespaceMessage($repeatedNoNamespaceMessage); - - $n = new NoNamespaceMessage(); - $n->setB(NoNamespaceMessage_NestedEnum::ZERO); - } - - public function testEnumWithoutNamespace() - { - $m = new TestMessage(); - $m->setOptionalNoNamespaceEnum(NoNameSpaceEnum::VALUE_A); - $repeatedNoNamespaceEnum = $m->getRepeatedNoNamespaceEnum(); - $repeatedNoNamespaceEnum[] = NoNameSpaceEnum::VALUE_A; - $m->setRepeatedNoNamespaceEnum($repeatedNoNamespaceEnum); - } - - ######################################################### - # Test message with given prefix. - ######################################################### - - public function testPrefixMessage() - { - $m = new TestIncludePrefixMessage(); - $n = new PrefixTestPrefix(); - $n->setA(1); - $m->setPrefixMessage($n); - $this->assertSame(1, $m->getPrefixMessage()->getA()); - } - - ######################################################### - # Test message with given namespace. - ######################################################### - - public function testNamespaceMessage() - { - $m = new TestIncludeNamespaceMessage(); - - $n = new TestNamespace(); - $n->setA(1); - $m->setNamespaceMessage($n); - $this->assertSame(1, $m->getNamespaceMessage()->getA()); - - $n = new TestEmptyNamespace(); - $n->setA(1); - $m->setEmptyNamespaceMessage($n); - $this->assertSame(1, $m->getEmptyNamespaceMessage()->getA()); - } - - ######################################################### - # Test prefix for reserved words. - ######################################################### - - public function testPrefixForReservedWords() - { - $m = new \Foo\TestMessage_Empty(); - $m = new \Foo\PBEmpty(); - $m = new \PrefixEmpty(); - $m = new \Foo\PBARRAY(); - } - - ######################################################### - # Test fluent setters. - ######################################################### - - public function testFluentSetters() - { - $m = (new TestMessage()) - ->setOptionalInt32(1) - ->setOptionalUInt32(2); - $this->assertSame(1, $m->getOptionalInt32()); - $this->assertSame(2, $m->getOptionalUInt32()); - } - - ######################################################### - # Test Reverse Field Order. - ######################################################### - - public function testReverseFieldOrder() - { - $m = new TestReverseFieldOrder(); - $m->setB("abc"); - $this->assertSame("abc", $m->getB()); - $this->assertNotSame("abc", $m->getA()); - } -} |