diff options
Diffstat (limited to 'third_party/protobuf/php/tests')
16 files changed, 0 insertions, 4415 deletions
diff --git a/third_party/protobuf/php/tests/array_test.php b/third_party/protobuf/php/tests/array_test.php deleted file mode 100644 index a4cad7196c..0000000000 --- a/third_party/protobuf/php/tests/array_test.php +++ /dev/null @@ -1,939 +0,0 @@ -<?php - -require_once('test_util.php'); - -use Google\Protobuf\Internal\RepeatedField; -use Google\Protobuf\Internal\GPBType; -use Foo\TestMessage; -use Foo\TestMessage_Sub; - -class RepeatedFieldTest extends PHPUnit_Framework_TestCase -{ - - ######################################################### - # Test int32 field. - ######################################################### - - public function testInt32() - { - $arr = new RepeatedField(GPBType::INT32); - - // Test append. - $arr []= MAX_INT32; - $this->assertSame(MAX_INT32, $arr[0]); - $arr []= MIN_INT32; - $this->assertSame(MIN_INT32, $arr[1]); - - $arr []= 1.1; - $this->assertSame(1, $arr[2]); - $arr []= MAX_INT32_FLOAT; - $this->assertSame(MAX_INT32, $arr[3]); - $arr []= MAX_INT32_FLOAT; - $this->assertSame(MAX_INT32, $arr[4]); - - $arr []= '2'; - $this->assertSame(2, $arr[5]); - $arr []= '3.1'; - $this->assertSame(3, $arr[6]); - $arr []= MAX_INT32_STRING; - $this->assertSame(MAX_INT32, $arr[7]); - - $this->assertEquals(8, count($arr)); - - for ($i = 0; $i < count($arr); $i++) { - $arr[$i] = 0; - $this->assertSame(0, $arr[$i]); - } - - // Test set. - $arr [0]= MAX_INT32; - $this->assertSame(MAX_INT32, $arr[0]); - $arr [1]= MIN_INT32; - $this->assertSame(MIN_INT32, $arr[1]); - - $arr [2]= 1.1; - $this->assertSame(1, $arr[2]); - $arr [3]= MAX_INT32_FLOAT; - $this->assertSame(MAX_INT32, $arr[3]); - $arr [4]= MAX_INT32_FLOAT; - $this->assertSame(MAX_INT32, $arr[4]); - - $arr [5]= '2'; - $this->assertSame(2, $arr[5]); - $arr [6]= '3.1'; - $this->assertSame(3, $arr[6]); - $arr [7]= MAX_INT32_STRING; - $this->assertSame(MAX_INT32, $arr[7]); - - // Test foreach. - $arr = new RepeatedField(GPBType::INT32); - for ($i = 0; $i < 3; $i++) { - $arr []= $i; - } - $i = 0; - foreach ($arr as $val) { - $this->assertSame($i++, $val); - } - $this->assertSame(3, $i); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt32AppendStringFail() - { - $arr = new RepeatedField(GPBType::INT32); - $arr []= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt32SetStringFail() - { - $arr = new RepeatedField(GPBType::INT32); - $arr []= 0; - $arr [0]= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt32AppendMessageFail() - { - $arr = new RepeatedField(GPBType::INT32); - $arr []= new TestMessage_Sub(); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt32SetMessageFail() - { - $arr = new RepeatedField(GPBType::INT32); - $arr []= 0; - $arr [0]= new TestMessage_Sub(); - } - - ######################################################### - # Test uint32 field. - ######################################################### - - public function testUint32() - { - $arr = new RepeatedField(GPBType::UINT32); - - // Test append. - $arr []= MAX_UINT32; - $this->assertSame(-1, $arr[0]); - $arr []= -1; - $this->assertSame(-1, $arr[1]); - $arr []= MIN_UINT32; - $this->assertSame(MIN_UINT32, $arr[2]); - - $arr []= 1.1; - $this->assertSame(1, $arr[3]); - $arr []= MAX_UINT32_FLOAT; - $this->assertSame(-1, $arr[4]); - $arr []= -1.0; - $this->assertSame(-1, $arr[5]); - $arr []= MIN_UINT32_FLOAT; - $this->assertSame(MIN_UINT32, $arr[6]); - - $arr []= '2'; - $this->assertSame(2, $arr[7]); - $arr []= '3.1'; - $this->assertSame(3, $arr[8]); - $arr []= MAX_UINT32_STRING; - $this->assertSame(-1, $arr[9]); - $arr []= '-1.0'; - $this->assertSame(-1, $arr[10]); - $arr []= MIN_UINT32_STRING; - $this->assertSame(MIN_UINT32, $arr[11]); - - $this->assertEquals(12, count($arr)); - - for ($i = 0; $i < count($arr); $i++) { - $arr[$i] = 0; - $this->assertSame(0, $arr[$i]); - } - - // Test set. - $arr [0]= MAX_UINT32; - $this->assertSame(-1, $arr[0]); - $arr [1]= -1; - $this->assertSame(-1, $arr[1]); - $arr [2]= MIN_UINT32; - $this->assertSame(MIN_UINT32, $arr[2]); - - $arr [3]= 1.1; - $this->assertSame(1, $arr[3]); - $arr [4]= MAX_UINT32_FLOAT; - $this->assertSame(-1, $arr[4]); - $arr [5]= -1.0; - $this->assertSame(-1, $arr[5]); - $arr [6]= MIN_UINT32_FLOAT; - $this->assertSame(MIN_UINT32, $arr[6]); - - $arr [7]= '2'; - $this->assertSame(2, $arr[7]); - $arr [8]= '3.1'; - $this->assertSame(3, $arr[8]); - $arr [9]= MAX_UINT32_STRING; - $this->assertSame(-1, $arr[9]); - $arr [10]= '-1.0'; - $this->assertSame(-1, $arr[10]); - $arr [11]= MIN_UINT32_STRING; - $this->assertSame(MIN_UINT32, $arr[11]); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint32AppendStringFail() - { - $arr = new RepeatedField(GPBType::UINT32); - $arr []= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint32SetStringFail() - { - $arr = new RepeatedField(GPBType::UINT32); - $arr []= 0; - $arr [0]= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint32AppendMessageFail() - { - $arr = new RepeatedField(GPBType::UINT32); - $arr []= new TestMessage_Sub(); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint32SetMessageFail() - { - $arr = new RepeatedField(GPBType::UINT32); - $arr []= 0; - $arr [0]= new TestMessage_Sub(); - } - - ######################################################### - # Test int64 field. - ######################################################### - - public function testInt64() - { - $arr = new RepeatedField(GPBType::INT64); - - // Test append. - $arr []= MAX_INT64; - $arr []= MIN_INT64; - $arr []= 1.1; - $arr []= '2'; - $arr []= '3.1'; - $arr []= MAX_INT64_STRING; - $arr []= MIN_INT64_STRING; - if (PHP_INT_SIZE == 4) { - $this->assertSame(MAX_INT64, $arr[0]); - $this->assertSame(MIN_INT64, $arr[1]); - $this->assertSame('1', $arr[2]); - $this->assertSame('2', $arr[3]); - $this->assertSame('3', $arr[4]); - $this->assertSame(MAX_INT64_STRING, $arr[5]); - $this->assertSame(MIN_INT64_STRING, $arr[6]); - } else { - $this->assertSame(MAX_INT64, $arr[0]); - $this->assertSame(MIN_INT64, $arr[1]); - $this->assertSame(1, $arr[2]); - $this->assertSame(2, $arr[3]); - $this->assertSame(3, $arr[4]); - $this->assertSame(MAX_INT64, $arr[5]); - $this->assertSame(MIN_INT64, $arr[6]); - } - - - $this->assertEquals(7, count($arr)); - - for ($i = 0; $i < count($arr); $i++) { - $arr[$i] = 0; - if (PHP_INT_SIZE == 4) { - $this->assertSame('0', $arr[$i]); - } else { - $this->assertSame(0, $arr[$i]); - } - } - - // Test set. - $arr [0]= MAX_INT64; - $arr [1]= MIN_INT64; - $arr [2]= 1.1; - $arr [3]= '2'; - $arr [4]= '3.1'; - $arr [5]= MAX_INT64_STRING; - $arr [6]= MIN_INT64_STRING; - - if (PHP_INT_SIZE == 4) { - $this->assertSame(MAX_INT64_STRING, $arr[0]); - $this->assertSame(MIN_INT64_STRING, $arr[1]); - $this->assertSame('1', $arr[2]); - $this->assertSame('2', $arr[3]); - $this->assertSame('3', $arr[4]); - $this->assertSame(MAX_INT64_STRING, $arr[5]); - $this->assertEquals(MIN_INT64_STRING, $arr[6]); - } else { - $this->assertSame(MAX_INT64, $arr[0]); - $this->assertSame(MIN_INT64, $arr[1]); - $this->assertSame(1, $arr[2]); - $this->assertSame(2, $arr[3]); - $this->assertSame(3, $arr[4]); - $this->assertSame(MAX_INT64, $arr[5]); - $this->assertEquals(MIN_INT64, $arr[6]); - } - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt64AppendStringFail() - { - $arr = new RepeatedField(GPBType::INT64); - $arr []= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt64SetStringFail() - { - $arr = new RepeatedField(GPBType::INT64); - $arr []= 0; - $arr [0]= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt64AppendMessageFail() - { - $arr = new RepeatedField(GPBType::INT64); - $arr []= new TestMessage_Sub(); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt64SetMessageFail() - { - $arr = new RepeatedField(GPBType::INT64); - $arr []= 0; - $arr [0]= new TestMessage_Sub(); - } - - ######################################################### - # Test uint64 field. - ######################################################### - - public function testUint64() - { - $arr = new RepeatedField(GPBType::UINT64); - - // Test append. - $arr []= MAX_UINT64; - $arr []= 1.1; - $arr []= '2'; - $arr []= '3.1'; - $arr []= MAX_UINT64_STRING; - - if (PHP_INT_SIZE == 4) { - $this->assertSame(MAX_UINT64_STRING, $arr[0]); - $this->assertSame('1', $arr[1]); - $this->assertSame('2', $arr[2]); - $this->assertSame('3', $arr[3]); - $this->assertSame(MAX_UINT64_STRING, $arr[4]); - } else { - $this->assertSame(MAX_UINT64, $arr[0]); - $this->assertSame(1, $arr[1]); - $this->assertSame(2, $arr[2]); - $this->assertSame(3, $arr[3]); - $this->assertSame(MAX_UINT64, $arr[4]); - $this->assertSame(5, count($arr)); - } - - $this->assertSame(5, count($arr)); - - for ($i = 0; $i < count($arr); $i++) { - $arr[$i] = 0; - if (PHP_INT_SIZE == 4) { - $this->assertSame('0', $arr[$i]); - } else { - $this->assertSame(0, $arr[$i]); - } - } - - // Test set. - $arr [0]= MAX_UINT64; - $arr [1]= 1.1; - $arr [2]= '2'; - $arr [3]= '3.1'; - $arr [4]= MAX_UINT64_STRING; - - if (PHP_INT_SIZE == 4) { - $this->assertSame(MAX_UINT64_STRING, $arr[0]); - $this->assertSame('1', $arr[1]); - $this->assertSame('2', $arr[2]); - $this->assertSame('3', $arr[3]); - $this->assertSame(MAX_UINT64_STRING, $arr[4]); - } else { - $this->assertSame(MAX_UINT64, $arr[0]); - $this->assertSame(1, $arr[1]); - $this->assertSame(2, $arr[2]); - $this->assertSame(3, $arr[3]); - $this->assertSame(MAX_UINT64, $arr[4]); - } - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint64AppendStringFail() - { - $arr = new RepeatedField(GPBType::UINT64); - $arr []= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint64SetStringFail() - { - $arr = new RepeatedField(GPBType::UINT64); - $arr []= 0; - $arr [0]= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint64AppendMessageFail() - { - $arr = new RepeatedField(GPBType::UINT64); - $arr []= new TestMessage_Sub(); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint64SetMessageFail() - { - $arr = new RepeatedField(GPBType::UINT64); - $arr []= 0; - $arr [0]= new TestMessage_Sub(); - } - - ######################################################### - # Test float field. - ######################################################### - - public function testFloat() - { - $arr = new RepeatedField(GPBType::FLOAT); - - // Test append. - $arr []= 1; - $this->assertEquals(1.0, $arr[0], '', MAX_FLOAT_DIFF); - - $arr []= 1.1; - $this->assertEquals(1.1, $arr[1], '', MAX_FLOAT_DIFF); - - $arr []= '2'; - $this->assertEquals(2.0, $arr[2], '', MAX_FLOAT_DIFF); - $arr []= '3.1'; - $this->assertEquals(3.1, $arr[3], '', MAX_FLOAT_DIFF); - - $this->assertEquals(4, count($arr)); - - for ($i = 0; $i < count($arr); $i++) { - $arr[$i] = 0; - $this->assertSame(0.0, $arr[$i]); - } - - // Test set. - $arr [0]= 1; - $this->assertEquals(1.0, $arr[0], '', MAX_FLOAT_DIFF); - - $arr [1]= 1.1; - $this->assertEquals(1.1, $arr[1], '', MAX_FLOAT_DIFF); - - $arr [2]= '2'; - $this->assertEquals(2.0, $arr[2], '', MAX_FLOAT_DIFF); - $arr [3]= '3.1'; - $this->assertEquals(3.1, $arr[3], '', MAX_FLOAT_DIFF); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testFloatAppendStringFail() - { - $arr = new RepeatedField(GPBType::FLOAT); - $arr []= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testFloatSetStringFail() - { - $arr = new RepeatedField(GPBType::FLOAT); - $arr []= 0.0; - $arr [0]= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testFloatAppendMessageFail() - { - $arr = new RepeatedField(GPBType::FLOAT); - $arr []= new TestMessage_Sub(); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testFloatSetMessageFail() - { - $arr = new RepeatedField(GPBType::FLOAT); - $arr []= 0.0; - $arr [0]= new TestMessage_Sub(); - } - - ######################################################### - # Test double field. - ######################################################### - - public function testDouble() - { - $arr = new RepeatedField(GPBType::DOUBLE); - - // Test append. - $arr []= 1; - $this->assertEquals(1.0, $arr[0], '', MAX_FLOAT_DIFF); - - $arr []= 1.1; - $this->assertEquals(1.1, $arr[1], '', MAX_FLOAT_DIFF); - - $arr []= '2'; - $this->assertEquals(2.0, $arr[2], '', MAX_FLOAT_DIFF); - $arr []= '3.1'; - $this->assertEquals(3.1, $arr[3], '', MAX_FLOAT_DIFF); - - $this->assertEquals(4, count($arr)); - - for ($i = 0; $i < count($arr); $i++) { - $arr[$i] = 0; - $this->assertSame(0.0, $arr[$i]); - } - - // Test set. - $arr [0]= 1; - $this->assertEquals(1.0, $arr[0], '', MAX_FLOAT_DIFF); - - $arr [1]= 1.1; - $this->assertEquals(1.1, $arr[1], '', MAX_FLOAT_DIFF); - - $arr [2]= '2'; - $this->assertEquals(2.0, $arr[2], '', MAX_FLOAT_DIFF); - $arr [3]= '3.1'; - $this->assertEquals(3.1, $arr[3], '', MAX_FLOAT_DIFF); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testDoubleAppendStringFail() - { - $arr = new RepeatedField(GPBType::DOUBLE); - $arr []= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testDoubleSetStringFail() - { - $arr = new RepeatedField(GPBType::DOUBLE); - $arr []= 0.0; - $arr [0]= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testDoubleAppendMessageFail() - { - $arr = new RepeatedField(GPBType::DOUBLE); - $arr []= new TestMessage_Sub(); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testDoubleSetMessageFail() - { - $arr = new RepeatedField(GPBType::DOUBLE); - $arr []= 0.0; - $arr [0]= new TestMessage_Sub(); - } - - ######################################################### - # Test bool field. - ######################################################### - - public function testBool() - { - $arr = new RepeatedField(GPBType::BOOL); - - // Test append. - $arr []= true; - $this->assertSame(true, $arr[0]); - - $arr []= -1; - $this->assertSame(true, $arr[1]); - - $arr []= 1.1; - $this->assertSame(true, $arr[2]); - - $arr []= ''; - $this->assertSame(false, $arr[3]); - - $this->assertEquals(4, count($arr)); - - for ($i = 0; $i < count($arr); $i++) { - $arr[$i] = 0; - $this->assertSame(false, $arr[$i]); - } - - // Test set. - $arr [0]= true; - $this->assertSame(true, $arr[0]); - - $arr [1]= -1; - $this->assertSame(true, $arr[1]); - - $arr [2]= 1.1; - $this->assertSame(true, $arr[2]); - - $arr [3]= ''; - $this->assertSame(false, $arr[3]); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testBoolAppendMessageFail() - { - $arr = new RepeatedField(GPBType::BOOL); - $arr []= new TestMessage_Sub(); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testBoolSetMessageFail() - { - $arr = new RepeatedField(GPBType::BOOL); - $arr []= true; - $arr [0]= new TestMessage_Sub(); - } - - ######################################################### - # Test string field. - ######################################################### - - public function testString() - { - $arr = new RepeatedField(GPBType::STRING); - - // Test append. - $arr []= 'abc'; - $this->assertSame('abc', $arr[0]); - - $arr []= 1; - $this->assertSame('1', $arr[1]); - - $arr []= 1.1; - $this->assertSame('1.1', $arr[2]); - - $arr []= true; - $this->assertSame('1', $arr[3]); - - $this->assertEquals(4, count($arr)); - - for ($i = 0; $i < count($arr); $i++) { - $arr[$i] = ''; - $this->assertSame('', $arr[$i]); - } - - // Test set. - $arr [0]= 'abc'; - $this->assertSame('abc', $arr[0]); - - $arr [1]= 1; - $this->assertSame('1', $arr[1]); - - $arr [2]= 1.1; - $this->assertSame('1.1', $arr[2]); - - $arr [3]= true; - $this->assertSame('1', $arr[3]); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testStringAppendMessageFail() - { - $arr = new RepeatedField(GPBType::STRING); - $arr []= new TestMessage_Sub(); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testStringSetMessageFail() - { - $arr = new RepeatedField(GPBType::STRING); - $arr []= 'abc'; - $arr [0]= new TestMessage_Sub(); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testStringAppendInvalidUTF8Fail() - { - $arr = new RepeatedField(GPBType::STRING); - $hex = hex2bin("ff"); - $arr []= $hex; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testStringSetInvalidUTF8Fail() - { - $arr = new RepeatedField(GPBType::STRING); - $arr []= 'abc'; - $hex = hex2bin("ff"); - $arr [0]= $hex; - } - - ######################################################### - # Test message field. - ######################################################### - - public function testMessage() - { - $arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class); - - // Test append. - $sub_m = new TestMessage_Sub(); - $sub_m->setA(1); - $arr []= $sub_m; - $this->assertSame(1, $arr[0]->getA()); - - $null = null; - $arr []= $null; - $this->assertNull($arr[1]); - - $this->assertEquals(2, count($arr)); - - for ($i = 0; $i < count($arr); $i++) { - $arr[$i] = $null; - $this->assertNull($arr[$i]); - } - - // Test set. - $arr [0]= $sub_m; - $this->assertSame(1, $arr[0]->getA()); - - $arr [1]= $null; - $this->assertNull($arr[1]); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testMessageAppendIntFail() - { - $arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class); - $arr []= 1; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testMessageSetIntFail() - { - $arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class); - $arr []= new TestMessage_Sub; - $arr [0]= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testMessageAppendStringFail() - { - $arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class); - $arr []= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testMessageSetStringFail() - { - $arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class); - $arr []= new TestMessage_Sub; - $arr [0]= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testMessageAppendOtherMessageFail() - { - $arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class); - $arr []= new TestMessage; - } - - ######################################################### - # Test offset type - ######################################################### - - public function testOffset() - { - $arr = new RepeatedField(GPBType::INT32); - $arr []= 0; - - $arr [0]= 1; - $this->assertSame(1, $arr[0]); - $this->assertSame(1, count($arr)); - - $arr ['0']= 2; - $this->assertSame(2, $arr['0']); - $this->assertSame(2, $arr[0]); - $this->assertSame(1, count($arr)); - - $arr [0.0]= 3; - $this->assertSame(3, $arr[0.0]); - $this->assertSame(1, count($arr)); - } - - public function testInsertRemoval() - { - $arr = new RepeatedField(GPBType::INT32); - - $arr []= 0; - $arr []= 1; - $arr []= 2; - $this->assertSame(3, count($arr)); - - unset($arr[2]); - $this->assertSame(2, count($arr)); - $this->assertSame(0, $arr[0]); - $this->assertSame(1, $arr[1]); - - $arr [] = 3; - $this->assertSame(3, count($arr)); - $this->assertSame(0, $arr[0]); - $this->assertSame(1, $arr[1]); - $this->assertSame(3, $arr[2]); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testRemoveMiddleFail() - { - $arr = new RepeatedField(GPBType::INT32); - - $arr []= 0; - $arr []= 1; - $arr []= 2; - $this->assertSame(3, count($arr)); - - unset($arr[1]); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testRemoveEmptyFail() - { - $arr = new RepeatedField(GPBType::INT32); - - unset($arr[0]); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testMessageOffsetFail() - { - $arr = new RepeatedField(GPBType::INT32); - $arr []= 0; - $arr [new TestMessage_Sub()]= 0; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testStringOffsetFail() - { - $arr = new RepeatedField(GPBType::INT32); - $arr []= 0; - $arr ['abc']= 0; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testSetNonExistedOffsetFail() - { - $arr = new RepeatedField(GPBType::INT32); - $arr [0]= 0; - } - - ######################################################### - # Test memory leak - ######################################################### - - public function testCycleLeak() - { - $arr = new RepeatedField(GPBType::MESSAGE, TestMessage::class); - $arr []= new TestMessage; - $arr[0]->SetRepeatedRecursive($arr); - - // Clean up memory before test. - gc_collect_cycles(); - $start = memory_get_usage(); - unset($arr); - - // Explicitly trigger garbage collection. - gc_collect_cycles(); - - $end = memory_get_usage(); - $this->assertLessThan($start, $end); - } -} diff --git a/third_party/protobuf/php/tests/autoload.php b/third_party/protobuf/php/tests/autoload.php deleted file mode 100755 index 0a917fc51a..0000000000 --- a/third_party/protobuf/php/tests/autoload.php +++ /dev/null @@ -1,25 +0,0 @@ -<?php - -function getGeneratedFiles($dir, &$results = array()) -{ - $files = scandir($dir); - - foreach ($files as $key => $value) { - $path = realpath($dir.DIRECTORY_SEPARATOR.$value); - if (!is_dir($path)) { - $results[] = $path; - } else if ($value != "." && $value != "..") { - getGeneratedFiles($path, $results); - } - } - return $results; -} - -foreach (getGeneratedFiles("generated") as $filename) -{ - if (!is_dir($filename)) { - include_once $filename; - } - -} - diff --git a/third_party/protobuf/php/tests/encode_decode_test.php b/third_party/protobuf/php/tests/encode_decode_test.php deleted file mode 100644 index 94adf7931c..0000000000 --- a/third_party/protobuf/php/tests/encode_decode_test.php +++ /dev/null @@ -1,225 +0,0 @@ -<?php - -require_once('test_base.php'); -require_once('test_util.php'); - -use Google\Protobuf\RepeatedField; -use Google\Protobuf\GPBType; -use Foo\TestEnum; -use Foo\TestMessage; -use Foo\TestMessage_Sub; -use Foo\TestPackedMessage; -use Foo\TestUnpackedMessage; - -class EncodeDecodeTest extends TestBase -{ - - public function testEncode() - { - $from = new TestMessage(); - $this->expectEmptyFields($from); - $this->setFields($from); - $this->expectFields($from); - - $data = $from->serializeToString(); - $this->assertSame(bin2hex(TestUtil::getGoldenTestMessage()), - bin2hex($data)); - } - - public function testDecode() - { - $to = new TestMessage(); - $to->mergeFromString(TestUtil::getGoldenTestMessage()); - $this->expectFields($to); - } - - public function testEncodeDecode() - { - $from = new TestMessage(); - $this->expectEmptyFields($from); - $this->setFields($from); - $this->expectFields($from); - - $data = $from->serializeToString(); - - $to = new TestMessage(); - $to->mergeFromString($data); - $this->expectFields($to); - } - - public function testEncodeDecodeEmpty() - { - $from = new TestMessage(); - $this->expectEmptyFields($from); - - $data = $from->serializeToString(); - - $to = new TestMessage(); - $to->mergeFromString($data); - $this->expectEmptyFields($to); - } - - public function testEncodeDecodeOneof() - { - $m = new TestMessage(); - - $m->setOneofInt32(1); - $data = $m->serializeToString(); - $n = new TestMessage(); - $n->mergeFromString($data); - $this->assertSame(1, $n->getOneofInt32()); - - $m->setOneofFloat(2.0); - $data = $m->serializeToString(); - $n = new TestMessage(); - $n->mergeFromString($data); - $this->assertSame(2.0, $n->getOneofFloat()); - - $m->setOneofString('abc'); - $data = $m->serializeToString(); - $n = new TestMessage(); - $n->mergeFromString($data); - $this->assertSame('abc', $n->getOneofString()); - - $sub_m = new TestMessage_Sub(); - $sub_m->setA(1); - $m->setOneofMessage($sub_m); - $data = $m->serializeToString(); - $n = new TestMessage(); - $n->mergeFromString($data); - $this->assertSame(1, $n->getOneofMessage()->getA()); - } - - public function testPackedEncode() - { - $from = new TestPackedMessage(); - TestUtil::setTestPackedMessage($from); - $this->assertSame(TestUtil::getGoldenTestPackedMessage(), - $from->serializeToString()); - } - - public function testPackedDecodePacked() - { - $to = new TestPackedMessage(); - $to->mergeFromString(TestUtil::getGoldenTestPackedMessage()); - TestUtil::assertTestPackedMessage($to); - } - - public function testPackedDecodeUnpacked() - { - $to = new TestPackedMessage(); - $to->mergeFromString(TestUtil::getGoldenTestUnpackedMessage()); - TestUtil::assertTestPackedMessage($to); - } - - public function testUnpackedEncode() - { - $from = new TestUnpackedMessage(); - TestUtil::setTestPackedMessage($from); - $this->assertSame(TestUtil::getGoldenTestUnpackedMessage(), - $from->serializeToString()); - } - - public function testUnpackedDecodePacked() - { - $to = new TestUnpackedMessage(); - $to->mergeFromString(TestUtil::getGoldenTestPackedMessage()); - TestUtil::assertTestPackedMessage($to); - } - - public function testUnpackedDecodeUnpacked() - { - $to = new TestUnpackedMessage(); - $to->mergeFromString(TestUtil::getGoldenTestUnpackedMessage()); - TestUtil::assertTestPackedMessage($to); - } - - public function testDecodeInt64() - { - // Read 64 testing - $testVals = array( - '10' => '100a', - '100' => '1064', - '800' => '10a006', - '6400' => '108032', - '70400' => '1080a604', - '774400' => '1080a22f', - '9292800' => '108098b704', - '74342400' => '1080c0b923', - '743424000' => '108080bfe202', - '8177664000' => '108080b5bb1e', - '65421312000' => '108080a8dbf301', - '785055744000' => '108080e0c7ec16', - '9420668928000' => '10808080dd969202', - '103627358208000' => '10808080fff9c717', - '1139900940288000' => '10808080f5bd978302', - '13678811283456000' => '10808080fce699a618', - '109430490267648000' => '10808080e0b7ceb1c201', - '984874412408832000' => '10808080e0f5c1bed50d', - ); - - $msg = new TestMessage(); - foreach ($testVals as $original => $encoded) { - $msg->setOptionalInt64($original); - $data = $msg->serializeToString(); - $this->assertSame($encoded, bin2hex($data)); - $msg->setOptionalInt64(0); - $msg->mergeFromString($data); - $this->assertEquals($original, $msg->getOptionalInt64()); - } - } - - public function testDecodeToExistingMessage() - { - $m1 = new TestMessage(); - $this->setFields($m1); - $this->expectFields($m1); - - $m2 = new TestMessage(); - $this->setFields2($m2); - $data = $m2->serializeToString(); - - $m1->mergeFromString($data); - $this->expectFieldsMerged($m1); - } - - public function testDecodeFieldNonExist() - { - $data = hex2bin('c80501'); - $m = new TestMessage(); - $m->mergeFromString($data); - } - - public function testEncodeNegativeInt32() - { - $m = new TestMessage(); - $m->setOptionalInt32(-1); - $data = $m->serializeToString(); - $this->assertSame("08ffffffffffffffffff01", bin2hex($data)); - } - - public function testDecodeNegativeInt32() - { - $m = new TestMessage(); - $this->assertEquals(0, $m->getOptionalInt32()); - $m->mergeFromString(hex2bin("08ffffffffffffffffff01")); - $this->assertEquals(-1, $m->getOptionalInt32()); - - $m = new TestMessage(); - $this->assertEquals(0, $m->getOptionalInt32()); - $m->mergeFromString(hex2bin("08ffffffff0f")); - $this->assertEquals(-1, $m->getOptionalInt32()); - } - - # TODO(teboring): Add test back when php implementation is ready for json - # encode/decode. - # public function testJsonEncode() - # { - # $from = new TestMessage(); - # $this->setFields($from); - # $data = $from->jsonEncode(); - # $to = new TestMessage(); - # $to->jsonDecode($data); - # $this->expectFields($to); - # } -} diff --git a/third_party/protobuf/php/tests/gdb_test.sh b/third_party/protobuf/php/tests/gdb_test.sh deleted file mode 100755 index 45a2841fd6..0000000000 --- a/third_party/protobuf/php/tests/gdb_test.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# gdb --args php -dextension=../ext/google/protobuf/modules/protobuf.so `which -# phpunit` --bootstrap autoload.php tmp_test.php -# -gdb --args php -dextension=../ext/google/protobuf/modules/protobuf.so `which phpunit` --bootstrap autoload.php array_test.php -# -# # gdb --args php -dextension=../ext/google/protobuf/modules/protobuf.so -# memory_leak_test.php -# -# # USE_ZEND_ALLOC=0 valgrind --leak-check=yes php -# -dextension=../ext/google/protobuf/modules/protobuf.so memory_leak_test.php diff --git a/third_party/protobuf/php/tests/generated_class_test.php b/third_party/protobuf/php/tests/generated_class_test.php deleted file mode 100644 index 39e6c6c41c..0000000000 --- a/third_party/protobuf/php/tests/generated_class_test.php +++ /dev/null @@ -1,855 +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\TestIncludePrefixMessage; -use Foo\TestMessage; -use Foo\TestMessage_Sub; - -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()); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt32FieldInvalidTypeFail() - { - $m = new TestMessage(); - $m->setOptionalInt32(new TestMessage()); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt32FieldInvalidStringFail() - { - $m = new TestMessage(); - $m->setOptionalInt32('abc'); - } - - ######################################################### - # 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()); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint32FieldInvalidTypeFail() - { - $m = new TestMessage(); - $m->setOptionalUint32(new TestMessage()); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint32FieldInvalidStringFail() - { - $m = new TestMessage(); - $m->setOptionalUint32('abc'); - } - - ######################################################### - # 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()); - } - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt64FieldInvalidTypeFail() - { - $m = new TestMessage(); - $m->setOptionalInt64(new TestMessage()); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt64FieldInvalidStringFail() - { - $m = new TestMessage(); - $m->setOptionalInt64('abc'); - } - - ######################################################### - # 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()); - } - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint64FieldInvalidTypeFail() - { - $m = new TestMessage(); - $m->setOptionalUint64(new TestMessage()); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint64FieldInvalidStringFail() - { - $m = new TestMessage(); - $m->setOptionalUint64('abc'); - } - - ######################################################### - # 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()); - } - - ######################################################### - # 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); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testFloatFieldInvalidTypeFail() - { - $m = new TestMessage(); - $m->setOptionalFloat(new TestMessage()); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testFloatFieldInvalidStringFail() - { - $m = new TestMessage(); - $m->setOptionalFloat('abc'); - } - - ######################################################### - # 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); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testDoubleFieldInvalidTypeFail() - { - $m = new TestMessage(); - $m->setOptionalDouble(new TestMessage()); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testDoubleFieldInvalidStringFail() - { - $m = new TestMessage(); - $m->setOptionalDouble('abc'); - } - - ######################################################### - # 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()); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testBoolFieldInvalidStringFail() - { - $m = new TestMessage(); - $m->setOptionalBool(new TestMessage()); - } - - ######################################################### - # 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()); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testStringFieldInvalidUTF8Fail() - { - $m = new TestMessage(); - $hex = hex2bin("ff"); - $m->setOptionalString($hex); - } - - ######################################################### - # 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()); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testMessageFieldWrongTypeFail() - { - $m = new TestMessage(); - $a = 1; - $m->setOptionalMessage($a); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testMessageFieldWrongClassFail() - { - $m = new TestMessage(); - $m->setOptionalMessage(new TestMessage()); - } - - ######################################################### - # 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); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testRepeatedFieldWrongTypeFail() - { - $m = new TestMessage(); - $a = 1; - $m->setRepeatedInt32($a); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testRepeatedFieldWrongObjectFail() - { - $m = new TestMessage(); - $m->setRepeatedInt32($m); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testRepeatedFieldWrongRepeatedTypeFail() - { - $m = new TestMessage(); - - $repeated_int32 = new RepeatedField(GPBType::UINT32); - $m->setRepeatedInt32($repeated_int32); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testRepeatedFieldWrongRepeatedMessageClassFail() - { - $m = new TestMessage(); - - $repeated_message = new RepeatedField(GPBType::MESSAGE, - TestMessage::class); - $m->setRepeatedMessage($repeated_message); - } - - ######################################################### - # 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); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testMapFieldWrongTypeFail() - { - $m = new TestMessage(); - $a = 1; - $m->setMapInt32Int32($a); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testMapFieldWrongObjectFail() - { - $m = new TestMessage(); - $m->setMapInt32Int32($m); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testMapFieldWrongRepeatedTypeFail() - { - $m = new TestMessage(); - - $map_uint32_uint32 = new MapField(GPBType::UINT32, GPBType::UINT32); - $m->setMapInt32Int32($map_uint32_uint32); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testMapFieldWrongRepeatedMessageClassFail() - { - $m = new TestMessage(); - - $map_int32_message = new MapField(GPBType::INT32, - GPBType::MESSAGE, - TestMessage::class); - $m->setMapInt32Message($map_int32_message); - } - - ######################################################### - # 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); - $sub1->getB()[] = 102; - $n->setOptionalMessage($sub1); - - // Repeated - $n->getRepeatedInt32()[] = 200; - $n->getRepeatedString()[] = 'abc'; - $sub2 = new TestMessage_Sub(); - $sub2->setA(201); - $n->getRepeatedMessage()[] = $sub2; - - // Map - $n->getMapInt32Int32()[1] = 300; - $n->getMapInt32Int32()[-62] = 301; - $n->getMapStringString()['def'] = 'def'; - $n->getMapInt32Message()[1] = new TestMessage_Sub(); - $n->getMapInt32Message()[1]->setA(302); - $n->getMapInt32Message()[2] = new TestMessage_Sub(); - $n->getMapInt32Message()[2]->setA(303); - - $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()); - $n->getRepeatedMessage()[0]->setA(-201); - $this->assertSame(201, $m->getRepeatedMessage()[2]->getA()); - $n->getMapInt32Message()[1]->setA(-302); - $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); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testMessageMergeFromInvalidTypeFail() - { - $m = new TestMessage(); - $n = new TestMessage_Sub(); - $m->mergeFrom($n); - } - - ######################################################### - # Test message/enum without namespace. - ######################################################### - - public function testMessageWithoutNamespace() - { - $m = new NoNameSpaceMessage(); - } - - public function testEnumWithoutNamespace() - { - $m = new NoNameSpaceEnum(); - } - - ######################################################### - # 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()); - } -} diff --git a/third_party/protobuf/php/tests/map_field_test.php b/third_party/protobuf/php/tests/map_field_test.php deleted file mode 100644 index d4ec44fc9a..0000000000 --- a/third_party/protobuf/php/tests/map_field_test.php +++ /dev/null @@ -1,679 +0,0 @@ -<?php - -require_once('test_util.php'); - -use Google\Protobuf\Internal\GPBType; -use Google\Protobuf\Internal\MapField; -use Foo\TestMessage; -use Foo\TestMessage_Sub; - -class MapFieldTest extends PHPUnit_Framework_TestCase { - - ######################################################### - # Test int32 field. - ######################################################### - - public function testInt32() { - $arr = new MapField(GPBType::INT32, GPBType::INT32); - - // Test integer argument. - $arr[MAX_INT32] = MAX_INT32; - $this->assertSame(MAX_INT32, $arr[MAX_INT32]); - $arr[MIN_INT32] = MIN_INT32; - $this->assertSame(MIN_INT32, $arr[MIN_INT32]); - $this->assertEquals(2, count($arr)); - $this->assertTrue(isset($arr[MAX_INT32])); - $this->assertTrue(isset($arr[MIN_INT32])); - unset($arr[MAX_INT32]); - unset($arr[MIN_INT32]); - $this->assertEquals(0, count($arr)); - - // Test float argument. - $arr[1.9] = 1.9; - $arr[2.1] = 2.1; - $this->assertSame(1, $arr[1]); - $this->assertSame(2, $arr[2]); - $arr[MAX_INT32_FLOAT] = MAX_INT32_FLOAT; - $this->assertSame(MAX_INT32, $arr[MAX_INT32]); - $arr[MIN_INT32_FLOAT] = MIN_INT32_FLOAT; - $this->assertSame(MIN_INT32, $arr[MIN_INT32]); - $this->assertEquals(4, count($arr)); - unset($arr[1.9]); - unset($arr[2.9]); - unset($arr[MAX_INT32_FLOAT]); - unset($arr[MIN_INT32_FLOAT]); - $this->assertEquals(0, count($arr)); - - // Test string argument. - $arr['2'] = '2'; - $this->assertSame(2, $arr[2]); - $arr['3.1'] = '3.1'; - $this->assertSame(3, $arr[3]); - $arr[MAX_INT32_STRING] = MAX_INT32_STRING; - $this->assertSame(MAX_INT32, $arr[MAX_INT32]); - $this->assertEquals(3, count($arr)); - unset($arr['2']); - unset($arr['3.1']); - unset($arr[MAX_INT32_STRING]); - $this->assertEquals(0, count($arr)); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt32SetStringKeyFail() - { - $arr = new MapField(GPBType::INT32, GPBType::INT32); - $arr ['abc']= 0; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt32SetStringValueFail() - { - $arr = new MapField(GPBType::INT32, GPBType::INT32); - $arr [0]= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt32SetMessageKeyFail() - { - $arr = new MapField(GPBType::INT32, GPBType::INT32); - $arr [new TestMessage_Sub()]= 0; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt32SetMessageValueFail() - { - $arr = new MapField(GPBType::INT32, GPBType::INT32); - $arr [0]= new TestMessage_Sub(); - } - - ######################################################### - # Test uint32 field. - ######################################################### - - public function testUint32() { - $arr = new MapField(GPBType::UINT32, GPBType::UINT32); - - // Test integer argument. - $arr[MAX_UINT32] = MAX_UINT32; - $this->assertSame(-1, $arr[-1]); - $this->assertEquals(1, count($arr)); - unset($arr[MAX_UINT32]); - $this->assertEquals(0, count($arr)); - - $arr[-1] = -1; - $this->assertSame(-1, $arr[-1]); - $arr[MIN_UINT32] = MIN_UINT32; - $this->assertSame(MIN_UINT32, $arr[MIN_UINT32]); - $this->assertEquals(2, count($arr)); - unset($arr[-1]); - unset($arr[MIN_UINT32]); - $this->assertEquals(0, count($arr)); - - // Test float argument. - $arr[MAX_UINT32_FLOAT] = MAX_UINT32_FLOAT; - $this->assertSame(-1, $arr[-1]); - $this->assertEquals(1, count($arr)); - unset($arr[MAX_UINT32_FLOAT]); - $this->assertEquals(0, count($arr)); - - $arr[3.1] = 3.1; - $this->assertSame(3, $arr[3]); - $arr[-1.0] = -1.0; - $this->assertSame(-1, $arr[-1]); - $arr[MIN_UINT32_FLOAT] = MIN_UINT32_FLOAT; - $this->assertSame(MIN_UINT32, $arr[MIN_UINT32]); - $this->assertEquals(3, count($arr)); - unset($arr[3.1]); - unset($arr[-1.0]); - unset($arr[MIN_UINT32_FLOAT]); - $this->assertEquals(0, count($arr)); - - // Test string argument. - $arr[MAX_UINT32_STRING] = MAX_UINT32_STRING; - $this->assertSame(-1, $arr[-1]); - $this->assertEquals(1, count($arr)); - unset($arr[MAX_UINT32_STRING]); - $this->assertEquals(0, count($arr)); - - $arr['7'] = '7'; - $this->assertSame(7, $arr[7]); - $arr['3.1'] = '3.1'; - $this->assertSame(3, $arr[3]); - $arr['-1.0'] = '-1.0'; - $this->assertSame(-1, $arr[-1]); - $arr[MIN_UINT32_STRING] = MIN_UINT32_STRING; - $this->assertSame(MIN_UINT32, $arr[MIN_UINT32]); - $this->assertEquals(4, count($arr)); - unset($arr['7']); - unset($arr['3.1']); - unset($arr['-1.0']); - unset($arr[MIN_UINT32_STRING]); - $this->assertEquals(0, count($arr)); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint32SetStringKeyFail() - { - $arr = new MapField(GPBType::UINT32, GPBType::UINT32); - $arr ['abc']= 0; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint32SetStringValueFail() - { - $arr = new MapField(GPBType::UINT32, GPBType::UINT32); - $arr [0]= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint32SetMessageKeyFail() - { - $arr = new MapField(GPBType::UINT32, GPBType::UINT32); - $arr [new TestMessage_Sub()]= 0; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint32SetMessageValueFail() - { - $arr = new MapField(GPBType::UINT32, GPBType::UINT32); - $arr [0]= new TestMessage_Sub(); - } - - ######################################################### - # Test int64 field. - ######################################################### - - public function testInt64() { - $arr = new MapField(GPBType::INT64, GPBType::INT64); - - // Test integer argument. - $arr[MAX_INT64] = MAX_INT64; - $arr[MIN_INT64] = MIN_INT64; - if (PHP_INT_SIZE == 4) { - $this->assertSame(MAX_INT64_STRING, $arr[MAX_INT64_STRING]); - $this->assertSame(MIN_INT64_STRING, $arr[MIN_INT64_STRING]); - } else { - $this->assertSame(MAX_INT64, $arr[MAX_INT64]); - $this->assertSame(MIN_INT64, $arr[MIN_INT64]); - } - $this->assertEquals(2, count($arr)); - unset($arr[MAX_INT64]); - unset($arr[MIN_INT64]); - $this->assertEquals(0, count($arr)); - - // Test float argument. - $arr[1.1] = 1.1; - if (PHP_INT_SIZE == 4) { - $this->assertSame('1', $arr['1']); - } else { - $this->assertSame(1, $arr[1]); - } - $this->assertEquals(1, count($arr)); - unset($arr[1.1]); - $this->assertEquals(0, count($arr)); - - // Test string argument. - $arr['2'] = '2'; - $arr['3.1'] = '3.1'; - $arr[MAX_INT64_STRING] = MAX_INT64_STRING; - $arr[MIN_INT64_STRING] = MIN_INT64_STRING; - if (PHP_INT_SIZE == 4) { - $this->assertSame('2', $arr['2']); - $this->assertSame('3', $arr['3']); - $this->assertSame(MAX_INT64_STRING, $arr[MAX_INT64_STRING]); - $this->assertSame(MIN_INT64_STRING, $arr[MIN_INT64_STRING]); - } else { - $this->assertSame(2, $arr[2]); - $this->assertSame(3, $arr[3]); - $this->assertSame(MAX_INT64, $arr[MAX_INT64]); - $this->assertSame(MIN_INT64, $arr[MIN_INT64]); - } - $this->assertEquals(4, count($arr)); - unset($arr['2']); - unset($arr['3.1']); - unset($arr[MAX_INT64_STRING]); - unset($arr[MIN_INT64_STRING]); - $this->assertEquals(0, count($arr)); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt64SetStringKeyFail() - { - $arr = new MapField(GPBType::INT64, GPBType::INT64); - $arr ['abc']= 0; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt64SetStringValueFail() - { - $arr = new MapField(GPBType::INT64, GPBType::INT64); - $arr [0]= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt64SetMessageKeyFail() - { - $arr = new MapField(GPBType::INT64, GPBType::INT64); - $arr [new TestMessage_Sub()]= 0; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testInt64SetMessageValueFail() - { - $arr = new MapField(GPBType::INT64, GPBType::INT64); - $arr [0]= new TestMessage_Sub(); - } - - ######################################################### - # Test uint64 field. - ######################################################### - - public function testUint64() { - $arr = new MapField(GPBType::UINT64, GPBType::UINT64); - - // Test integer argument. - $arr[MAX_UINT64] = MAX_UINT64; - if (PHP_INT_SIZE == 4) { - $this->assertSame(MAX_UINT64_STRING, $arr[MAX_UINT64_STRING]); - } else { - $this->assertSame(MAX_UINT64, $arr[MAX_UINT64]); - } - $this->assertEquals(1, count($arr)); - unset($arr[MAX_UINT64]); - $this->assertEquals(0, count($arr)); - - // Test float argument. - $arr[1.1] = 1.1; - if (PHP_INT_SIZE == 4) { - $this->assertSame('1', $arr['1']); - } else { - $this->assertSame(1, $arr[1]); - } - $this->assertEquals(1, count($arr)); - unset($arr[1.1]); - $this->assertEquals(0, count($arr)); - - // Test string argument. - $arr['2'] = '2'; - $arr['3.1'] = '3.1'; - $arr[MAX_UINT64_STRING] = MAX_UINT64_STRING; - - if (PHP_INT_SIZE == 4) { - $this->assertSame('2', $arr['2']); - $this->assertSame('3', $arr['3']); - $this->assertSame(MAX_UINT64_STRING, $arr[MAX_UINT64_STRING]); - } else { - $this->assertSame(2, $arr[2]); - $this->assertSame(3, $arr[3]); - $this->assertSame(MAX_UINT64, $arr[MAX_UINT64]); - } - - $this->assertEquals(3, count($arr)); - unset($arr['2']); - unset($arr['3.1']); - unset($arr[MAX_UINT64_STRING]); - $this->assertEquals(0, count($arr)); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint64SetStringKeyFail() - { - $arr = new MapField(GPBType::UINT64, GPBType::UINT64); - $arr ['abc']= 0; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint64SetStringValueFail() - { - $arr = new MapField(GPBType::UINT64, GPBType::UINT64); - $arr [0]= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint64SetMessageKeyFail() - { - $arr = new MapField(GPBType::UINT64, GPBType::UINT64); - $arr [new TestMessage_Sub()]= 0; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testUint64SetMessageValueFail() - { - $arr = new MapField(GPBType::UINT64, GPBType::UINT64); - $arr [0]= new TestMessage_Sub(); - } - - ######################################################### - # Test float field. - ######################################################### - - public function testFloat() { - $arr = new MapField(GPBType::INT32, GPBType::FLOAT); - - // Test set. - $arr[0] = 1; - $this->assertEquals(1.0, $arr[0], '', MAX_FLOAT_DIFF); - - $arr[1] = 1.1; - $this->assertEquals(1.1, $arr[1], '', MAX_FLOAT_DIFF); - - $arr[2] = '2'; - $this->assertEquals(2.0, $arr[2], '', MAX_FLOAT_DIFF); - $arr[3] = '3.1'; - $this->assertEquals(3.1, $arr[3], '', MAX_FLOAT_DIFF); - - $this->assertEquals(4, count($arr)); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testFloatSetStringValueFail() - { - $arr = new MapField(GPBType::INT64, GPBType::FLOAT); - $arr [0]= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testFloatSetMessageValueFail() - { - $arr = new MapField(GPBType::INT64, GPBType::FLOAT); - $arr [0]= new TestMessage_Sub(); - } - - ######################################################### - # Test double field. - ######################################################### - - public function testDouble() { - $arr = new MapField(GPBType::INT32, GPBType::DOUBLE); - - // Test set. - $arr[0] = 1; - $this->assertEquals(1.0, $arr[0], '', MAX_FLOAT_DIFF); - - $arr[1] = 1.1; - $this->assertEquals(1.1, $arr[1], '', MAX_FLOAT_DIFF); - - $arr[2] = '2'; - $this->assertEquals(2.0, $arr[2], '', MAX_FLOAT_DIFF); - $arr[3] = '3.1'; - $this->assertEquals(3.1, $arr[3], '', MAX_FLOAT_DIFF); - - $this->assertEquals(4, count($arr)); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testDoubleSetStringValueFail() - { - $arr = new MapField(GPBType::INT64, GPBType::DOUBLE); - $arr [0]= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testDoubleSetMessageValueFail() - { - $arr = new MapField(GPBType::INT64, GPBType::DOUBLE); - $arr [0]= new TestMessage_Sub(); - } - - ######################################################### - # Test bool field. - ######################################################### - - public function testBool() { - $arr = new MapField(GPBType::BOOL, GPBType::BOOL); - - // Test boolean. - $arr[True] = True; - $this->assertSame(True, $arr[True]); - $this->assertEquals(1, count($arr)); - unset($arr[True]); - $this->assertEquals(0, count($arr)); - - $arr[False] = False; - $this->assertSame(False, $arr[False]); - $this->assertEquals(1, count($arr)); - unset($arr[False]); - $this->assertEquals(0, count($arr)); - - // Test integer. - $arr[-1] = -1; - $this->assertSame(True, $arr[True]); - $this->assertEquals(1, count($arr)); - unset($arr[-1]); - $this->assertEquals(0, count($arr)); - - $arr[0] = 0; - $this->assertSame(False, $arr[False]); - $this->assertEquals(1, count($arr)); - unset($arr[0]); - $this->assertEquals(0, count($arr)); - - // Test float. - $arr[1.1] = 1.1; - $this->assertSame(True, $arr[True]); - $this->assertEquals(1, count($arr)); - unset($arr[1.1]); - $this->assertEquals(0, count($arr)); - - $arr[0.0] = 0.0; - $this->assertSame(False, $arr[False]); - $this->assertEquals(1, count($arr)); - unset($arr[0.0]); - $this->assertEquals(0, count($arr)); - - // Test string. - $arr['a'] = 'a'; - $this->assertSame(True, $arr[True]); - $this->assertEquals(1, count($arr)); - unset($arr['a']); - $this->assertEquals(0, count($arr)); - - $arr[''] = ''; - $this->assertSame(False, $arr[False]); - $this->assertEquals(1, count($arr)); - unset($arr['']); - $this->assertEquals(0, count($arr)); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testBoolSetMessageKeyFail() - { - $arr = new MapField(GPBType::BOOL, GPBType::BOOL); - $arr [new TestMessage_Sub()]= true; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testBoolSetMessageValueFail() - { - $arr = new MapField(GPBType::BOOL, GPBType::BOOL); - $arr [true]= new TestMessage_Sub(); - } - - ######################################################### - # Test string field. - ######################################################### - - public function testString() { - $arr = new MapField(GPBType::STRING, GPBType::STRING); - - // Test set. - $arr['abc'] = 'abc'; - $this->assertSame('abc', $arr['abc']); - $this->assertEquals(1, count($arr)); - unset($arr['abc']); - $this->assertEquals(0, count($arr)); - - $arr[1] = 1; - $this->assertSame('1', $arr['1']); - $this->assertEquals(1, count($arr)); - unset($arr[1]); - $this->assertEquals(0, count($arr)); - - $arr[1.1] = 1.1; - $this->assertSame('1.1', $arr['1.1']); - $this->assertEquals(1, count($arr)); - unset($arr[1.1]); - $this->assertEquals(0, count($arr)); - - $arr[True] = True; - $this->assertSame('1', $arr['1']); - $this->assertEquals(1, count($arr)); - unset($arr[True]); - $this->assertEquals(0, count($arr)); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testStringSetInvalidUTF8KeyFail() - { - $arr = new MapField(GPBType::STRING, GPBType::STRING); - $arr[hex2bin("ff")]= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testStringSetInvalidUTF8ValueFail() - { - $arr = new MapField(GPBType::STRING, GPBType::STRING); - $arr ['abc']= hex2bin("ff"); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testStringSetMessageKeyFail() - { - $arr = new MapField(GPBType::STRING, GPBType::STRING); - $arr [new TestMessage_Sub()]= 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testStringSetMessageValueFail() - { - $arr = new MapField(GPBType::STRING, GPBType::STRING); - $arr ['abc']= new TestMessage_Sub(); - } - - ######################################################### - # Test message field. - ######################################################### - - public function testMessage() { - $arr = new MapField(GPBType::INT32, - GPBType::MESSAGE, TestMessage_Sub::class); - - // Test append. - $sub_m = new TestMessage_Sub(); - $sub_m->setA(1); - $arr[0] = $sub_m; - $this->assertSame(1, $arr[0]->getA()); - - $null = NULL; - $arr[1] = $null; - $this->assertNull($arr[1]); - - $this->assertEquals(2, count($arr)); - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testMessageSetIntValueFail() - { - $arr = - new MapField(GPBType::INT32, GPBType::MESSAGE, TestMessage::class); - $arr[0] = 0; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testMessageSetStringValueFail() - { - $arr = - new MapField(GPBType::INT32, GPBType::MESSAGE, TestMessage::class); - $arr[0] = 'abc'; - } - - /** - * @expectedException PHPUnit_Framework_Error - */ - public function testMessageSetOtherMessageValueFail() - { - $arr = - new MapField(GPBType::INT32, GPBType::MESSAGE, TestMessage::class); - $arr[0] = new TestMessage_Sub(); - } - - ######################################################### - # Test memory leak - ######################################################### - - // TODO(teboring): Add it back. - // public function testCycleLeak() - // { - // $arr = new MapField(GPBType::INT32, - // GPBType::MESSAGE, TestMessage::class); - // $arr [0]= new TestMessage; - // $arr[0]->SetMapRecursive($arr); - - // // Clean up memory before test. - // gc_collect_cycles(); - // $start = memory_get_usage(); - // unset($arr); - - // // Explicitly trigger garbage collection. - // gc_collect_cycles(); - - // $end = memory_get_usage(); - // $this->assertLessThan($start, $end); - // } -} diff --git a/third_party/protobuf/php/tests/memory_leak_test.php b/third_party/protobuf/php/tests/memory_leak_test.php deleted file mode 100644 index 5dd79519ae..0000000000 --- a/third_party/protobuf/php/tests/memory_leak_test.php +++ /dev/null @@ -1,89 +0,0 @@ -<?php - -# phpunit has memory leak by itself. Thus, it cannot be used to test memory leak. - -require_once('generated/PrefixTestPrefix.php'); -require_once('generated/Bar/TestInclude.php'); -require_once('generated/Foo/TestEnum.php'); -require_once('generated/Foo/TestIncludePrefixMessage.php'); -require_once('generated/Foo/TestMessage.php'); -require_once('generated/Foo/TestMessage_Sub.php'); -require_once('generated/Foo/TestPackedMessage.php'); -require_once('generated/Foo/TestPhpDoc.php'); -require_once('generated/Foo/TestUnpackedMessage.php'); -require_once('generated/GPBMetadata/Proto/Test.php'); -require_once('generated/GPBMetadata/Proto/TestInclude.php'); -require_once('generated/GPBMetadata/Proto/TestPrefix.php'); -require_once('test_util.php'); - -use Google\Protobuf\Internal\RepeatedField; -use Google\Protobuf\Internal\GPBType; -use Foo\TestMessage; -use Foo\TestMessage_Sub; - -$from = new TestMessage(); -TestUtil::setTestMessage($from); -TestUtil::assertTestMessage($from); - -$data = $from->serializeToString(); - -$to = new TestMessage(); -$to->mergeFromString($data); - -TestUtil::assertTestMessage($to); - -$from->setRecursive($from); - -$arr = new RepeatedField(GPBType::MESSAGE, TestMessage::class); -$arr []= new TestMessage; -$arr[0]->SetRepeatedRecursive($arr); - -// Test oneof fields. -$m = new TestMessage(); - -$m->setOneofInt32(1); -assert(1 === $m->getOneofInt32()); -assert(0.0 === $m->getOneofFloat()); -assert('' === $m->getOneofString()); -assert(NULL === $m->getOneofMessage()); -$data = $m->serializeToString(); -$n = new TestMessage(); -$n->mergeFromString($data); -assert(1 === $n->getOneofInt32()); - -$m->setOneofFloat(2.0); -assert(0 === $m->getOneofInt32()); -assert(2.0 === $m->getOneofFloat()); -assert('' === $m->getOneofString()); -assert(NULL === $m->getOneofMessage()); -$data = $m->serializeToString(); -$n = new TestMessage(); -$n->mergeFromString($data); -assert(2.0 === $n->getOneofFloat()); - -$m->setOneofString('abc'); -assert(0 === $m->getOneofInt32()); -assert(0.0 === $m->getOneofFloat()); -assert('abc' === $m->getOneofString()); -assert(NULL === $m->getOneofMessage()); -$data = $m->serializeToString(); -$n = new TestMessage(); -$n->mergeFromString($data); -assert('abc' === $n->getOneofString()); - -$sub_m = new TestMessage_Sub(); -$sub_m->setA(1); -$m->setOneofMessage($sub_m); -assert(0 === $m->getOneofInt32()); -assert(0.0 === $m->getOneofFloat()); -assert('' === $m->getOneofString()); -assert(1 === $m->getOneofMessage()->getA()); -$data = $m->serializeToString(); -$n = new TestMessage(); -$n->mergeFromString($data); -assert(1 === $n->getOneofMessage()->getA()); - -$from = new TestMessage(); -$to = new TestMessage(); -TestUtil::setTestMessage($from); -$to->mergeFrom($from); diff --git a/third_party/protobuf/php/tests/php_implementation_test.php b/third_party/protobuf/php/tests/php_implementation_test.php deleted file mode 100644 index e124980820..0000000000 --- a/third_party/protobuf/php/tests/php_implementation_test.php +++ /dev/null @@ -1,513 +0,0 @@ -<?php - -require_once('test_base.php'); -require_once('test_util.php'); - -use Foo\TestMessage; -use Foo\TestMessage_Sub; -use Foo\TestPackedMessage; -use Google\Protobuf\Internal\InputStream; -use Google\Protobuf\Internal\FileDescriptorSet; -use Google\Protobuf\Internal\GPBLabel; -use Google\Protobuf\Internal\GPBType; -use Google\Protobuf\Internal\GPBWire; -use Google\Protobuf\Internal\OutputStream; - -class ImplementationTest extends TestBase -{ - - public function testReadInt32() - { - $value = null; - - // Positive number. - $input = new InputStream(hex2bin("01")); - GPBWire::readInt32($input, $value); - $this->assertSame(1, $value); - - // Negative number. - $input = new InputStream(hex2bin("ffffffff0f")); - GPBWire::readInt32($input, $value); - $this->assertSame(-1, $value); - - // Discard overflow bits. - $input = new InputStream(hex2bin("ffffffff7f")); - GPBWire::readInt32($input, $value); - $this->assertSame(-1, $value); - } - - public function testReadUint32() - { - $value = null; - - // Positive number. - $input = new InputStream(hex2bin("01")); - GPBWire::readUint32($input, $value); - $this->assertSame(1, $value); - - // Max uint32. - $input = new InputStream(hex2bin("ffffffff0f")); - GPBWire::readUint32($input, $value); - $this->assertSame(-1, $value); - - // Discard overflow bits. - $input = new InputStream(hex2bin("ffffffff7f")); - GPBWire::readUint32($input, $value); - $this->assertSame(-1, $value); - } - - public function testReadInt64() - { - $value = null; - - // Positive number. - $input = new InputStream(hex2bin("01")); - GPBWire::readInt64($input, $value); - $this->assertEquals(1, $value); - - // Negative number. - $input = new InputStream(hex2bin("ffffffffffffffffff01")); - GPBWire::readInt64($input, $value); - $this->assertEquals(-1, $value); - - // Discard overflow bits. - $input = new InputStream(hex2bin("ffffffffffffffffff0f")); - GPBWire::readInt64($input, $value); - $this->assertEquals(-1, $value); - } - - public function testReadUint64() - { - $value = null; - - // Positive number. - $input = new InputStream(hex2bin("01")); - GPBWire::readUint64($input, $value); - $this->assertEquals(1, $value); - - // Negative number. - $input = new InputStream(hex2bin("FFFFFFFFFFFFFFFFFF01")); - GPBWire::readUint64($input, $value); - $this->assertEquals(-1, $value); - - // Discard overflow bits. - $input = new InputStream(hex2bin("FFFFFFFFFFFFFFFFFF0F")); - GPBWire::readUint64($input, $value); - $this->assertEquals(-1, $value); - } - - public function testReadSint32() - { - $value = null; - - $input = new InputStream(hex2bin("00")); - GPBWire::readSint32($input, $value); - $this->assertSame(0, $value); - - $input = new InputStream(hex2bin("01")); - GPBWire::readSint32($input, $value); - $this->assertSame(-1, $value); - - $input = new InputStream(hex2bin("02")); - GPBWire::readSint32($input, $value); - $this->assertSame(1, $value); - } - - public function testReadSint64() - { - $value = null; - - $input = new InputStream(hex2bin("00")); - GPBWire::readSint64($input, $value); - $this->assertEquals(0, $value); - - $input = new InputStream(hex2bin("01")); - GPBWire::readSint64($input, $value); - $this->assertEquals(-1, $value); - - $input = new InputStream(hex2bin("02")); - GPBWire::readSint64($input, $value); - $this->assertEquals(1, $value); - } - - public function testReadFixed32() - { - $value = null; - $input = new InputStream(hex2bin("12345678")); - GPBWire::readFixed32($input, $value); - $this->assertSame(0x78563412, $value); - } - - public function testReadFixed64() - { - $value = null; - $input = new InputStream(hex2bin("1234567812345678")); - GPBWire::readFixed64($input, $value); - if (PHP_INT_SIZE == 4) { - $this->assertSame("8671175386481439762", $value); - } else { - $this->assertSame(0x7856341278563412, $value); - } - } - - public function testReadSfixed32() - { - $value = null; - $input = new InputStream(hex2bin("12345678")); - GPBWire::readSfixed32($input, $value); - $this->assertSame(0x78563412, $value); - } - - public function testReadFloat() - { - $value = null; - $input = new InputStream(hex2bin("0000803F")); - GPBWire::readFloat($input, $value); - $this->assertSame(1.0, $value); - } - - public function testReadBool() - { - $value = null; - - $input = new InputStream(hex2bin("00")); - GPBWire::readBool($input, $value); - $this->assertSame(false, $value); - - $input = new InputStream(hex2bin("01")); - GPBWire::readBool($input, $value); - $this->assertSame(true, $value); - } - - public function testReadDouble() - { - $value = null; - $input = new InputStream(hex2bin("000000000000F03F")); - GPBWire::readDouble($input, $value); - $this->assertSame(1.0, $value); - } - - public function testReadSfixed64() - { - $value = null; - $input = new InputStream(hex2bin("1234567812345678")); - GPBWire::readSfixed64($input, $value); - if (PHP_INT_SIZE == 4) { - $this->assertSame("8671175386481439762", $value); - } else { - $this->assertSame(0x7856341278563412, $value); - } - } - - public function testZigZagEncodeDecode() - { - $this->assertSame(0, GPBWire::zigZagEncode32(0)); - $this->assertSame(1, GPBWire::zigZagEncode32(-1)); - $this->assertSame(2, GPBWire::zigZagEncode32(1)); - $this->assertSame(3, GPBWire::zigZagEncode32(-2)); - $this->assertSame(0x7FFFFFFE, GPBWire::zigZagEncode32(0x3FFFFFFF)); - $this->assertSame(0x7FFFFFFF, GPBWire::zigZagEncode32(0xC0000000)); - $this->assertSame(-2, GPBWire::zigZagEncode32(0x7FFFFFFF)); - $this->assertSame(-1, GPBWire::zigZagEncode32(0x80000000)); - - $this->assertSame(0, GPBWire::zigZagDecode32(0)); - $this->assertSame(-1, GPBWire::zigZagDecode32(1)); - $this->assertSame(1, GPBWire::zigZagDecode32(2)); - $this->assertSame(-2, GPBWire::zigZagDecode32(3)); - $this->assertSame(0x3FFFFFFF, GPBWire::zigZagDecode32(0x7FFFFFFE)); - $this->assertSame(-1073741824, GPBWire::zigZagDecode32(0x7FFFFFFF)); - $this->assertSame(0x7FFFFFFF, GPBWire::zigZagDecode32(0xFFFFFFFE)); - $this->assertSame((int)-2147483648,GPBWire::zigZagDecode32(0xFFFFFFFF)); - - if (PHP_INT_SIZE == 4) { - $this->assertSame('0', GPBWire::zigZagEncode64(0)); - $this->assertSame('1', GPBWire::zigZagEncode64(-1)); - $this->assertSame('2', GPBWire::zigZagEncode64(1)); - $this->assertSame('3', GPBWire::zigZagEncode64(-2)); - $this->assertSame( - '2147483646', // 0x7FFFFFE - GPBWire::zigZagEncode64(0x3FFFFFFF)); - $this->assertSame( - '2147483647', // 0x7FFFFFF - GPBWire::zigZagEncode64(-1073741824)); // 0xFFFFFFFFC0000000 - $this->assertSame( - '4294967294', // 0xFFFFFFFE - GPBWire::zigZagEncode64(2147483647)); // 0x7FFFFFFF - $this->assertSame( - '4294967295', // 0xFFFFFFFF - GPBWire::zigZagEncode64(-2147483648)); // 0xFFFFFFFF80000000 - $this->assertSame( - '18446744073709551614', // 0xFFFFFFFFFFFFFFFE - // 0x7FFFFFFFFFFFFFFF - GPBWire::zigZagEncode64("9223372036854775807")); - $this->assertSame( - '18446744073709551615', // 0xFFFFFFFFFFFFFFFF - // 0x8000000000000000 - GPBWire::zigZagEncode64("-9223372036854775808")); - - $this->assertSame('0', GPBWire::zigZagDecode64(0)); - $this->assertSame('-1', GPBWire::zigZagDecode64(1)); - $this->assertSame('1', GPBWire::zigZagDecode64(2)); - $this->assertSame('-2', GPBWire::zigZagDecode64(3)); - } else { - $this->assertSame(0, GPBWire::zigZagEncode64(0)); - $this->assertSame(1, GPBWire::zigZagEncode64(-1)); - $this->assertSame(2, GPBWire::zigZagEncode64(1)); - $this->assertSame(3, GPBWire::zigZagEncode64(-2)); - $this->assertSame(0x7FFFFFFE, GPBWire::zigZagEncode64(0x3FFFFFFF)); - $this->assertSame( - 0x7FFFFFFF, - GPBWire::zigZagEncode64(0xFFFFFFFFC0000000)); - $this->assertSame( - 0xFFFFFFFE, - GPBWire::zigZagEncode64(0x7FFFFFFF)); - $this->assertSame( - 0xFFFFFFFF, - GPBWire::zigZagEncode64(0xFFFFFFFF80000000)); - $this->assertSame( - -2, // 0xFFFFFFFFFFFFFFFE - GPBWire::zigZagEncode64(0x7FFFFFFFFFFFFFFF)); - $this->assertSame( - -1, // 0xFFFFFFFFFFFFFFFF - GPBWire::zigZagEncode64(0x8000000000000000)); - - $this->assertSame(0, GPBWire::zigZagDecode64(0)); - $this->assertSame(-1, GPBWire::zigZagDecode64(1)); - $this->assertSame(1, GPBWire::zigZagDecode64(2)); - $this->assertSame(-2, GPBWire::zigZagDecode64(3)); - } - - // Round trip - $this->assertSame(0, GPBWire::zigZagDecode32(GPBWire::zigZagEncode32(0))); - $this->assertSame(1, GPBWire::zigZagDecode32(GPBWire::zigZagEncode32(1))); - $this->assertSame(-1, GPBWire::zigZagDecode32(GPBWire::zigZagEncode32(-1))); - $this->assertSame(14927, - GPBWire::zigZagDecode32(GPBWire::zigZagEncode32(14927))); - $this->assertSame(-3612, - GPBWire::zigZagDecode32(GPBWire::zigZagEncode32(-3612))); - } - - public function testDecode() - { - $m = new TestMessage(); - $m->mergeFromString(TestUtil::getGoldenTestMessage()); - TestUtil::assertTestMessage($m); - } - - public function testDescriptorDecode() - { - $file_desc_set = new FileDescriptorSet(); - $file_desc_set->mergeFromString(hex2bin( - "0a3b0a12746573745f696e636c7564652e70726f746f120362617222180a" . - "0b54657374496e636c75646512090a0161180120012805620670726f746f33")); - - $this->assertSame(1, sizeof($file_desc_set->getFile())); - - $file_desc = $file_desc_set->getFile()[0]; - $this->assertSame("test_include.proto", $file_desc->getName()); - $this->assertSame("bar", $file_desc->getPackage()); - $this->assertSame(0, sizeof($file_desc->getDependency())); - $this->assertSame(1, sizeof($file_desc->getMessageType())); - $this->assertSame(0, sizeof($file_desc->getEnumType())); - $this->assertSame("proto3", $file_desc->getSyntax()); - - $desc = $file_desc->getMessageType()[0]; - $this->assertSame("TestInclude", $desc->getName()); - $this->assertSame(1, sizeof($desc->getField())); - $this->assertSame(0, sizeof($desc->getNestedType())); - $this->assertSame(0, sizeof($desc->getEnumType())); - $this->assertSame(0, sizeof($desc->getOneofDecl())); - - $field = $desc->getField()[0]; - $this->assertSame("a", $field->getName()); - $this->assertSame(1, $field->getNumber()); - $this->assertSame(GPBLabel::OPTIONAL, $field->getLabel()); - $this->assertSame(GPBType::INT32, $field->getType()); - } - - public function testReadVarint64() - { - $var = 0; - - // Empty buffer. - $input = new InputStream(hex2bin('')); - $this->assertFalse($input->readVarint64($var)); - - // The largest varint is 10 bytes long. - $input = new InputStream(hex2bin('8080808080808080808001')); - $this->assertFalse($input->readVarint64($var)); - - // Corrupted varint. - $input = new InputStream(hex2bin('808080')); - $this->assertFalse($input->readVarint64($var)); - - // Normal case. - $input = new InputStream(hex2bin('808001')); - $this->assertTrue($input->readVarint64($var)); - if (PHP_INT_SIZE == 4) { - $this->assertSame('16384', $var); - } else { - $this->assertSame(16384, $var); - } - $this->assertFalse($input->readVarint64($var)); - - // Read two varint. - $input = new InputStream(hex2bin('808001808002')); - $this->assertTrue($input->readVarint64($var)); - if (PHP_INT_SIZE == 4) { - $this->assertSame('16384', $var); - } else { - $this->assertSame(16384, $var); - } - $this->assertTrue($input->readVarint64($var)); - if (PHP_INT_SIZE == 4) { - $this->assertSame('32768', $var); - } else { - $this->assertSame(32768, $var); - } - $this->assertFalse($input->readVarint64($var)); - - // Read 64 testing - $testVals = array( - '10' => '0a000000000000000000', - '100' => '64000000000000000000', - '800' => 'a0060000000000000000', - '6400' => '80320000000000000000', - '70400' => '80a60400000000000000', - '774400' => '80a22f00000000000000', - '9292800' => '8098b704000000000000', - '74342400' => '80c0b923000000000000', - '743424000' => '8080bfe2020000000000', - '8177664000' => '8080b5bb1e0000000000', - '65421312000' => '8080a8dbf30100000000', - '785055744000' => '8080e0c7ec1600000000', - '9420668928000' => '808080dd969202000000', - '103627358208000' => '808080fff9c717000000', - '1139900940288000' => '808080f5bd9783020000', - '13678811283456000' => '808080fce699a6180000', - '109430490267648000' => '808080e0b7ceb1c20100', - '984874412408832000' => '808080e0f5c1bed50d00', - ); - - foreach ($testVals as $original => $encoded) { - $input = new InputStream(hex2bin($encoded)); - $this->assertTrue($input->readVarint64($var)); - $this->assertEquals($original, $var); - } - } - - public function testReadVarint32() - { - $var = 0; - - // Empty buffer. - $input = new InputStream(hex2bin('')); - $this->assertFalse($input->readVarint32($var)); - - // The largest varint is 10 bytes long. - $input = new InputStream(hex2bin('8080808080808080808001')); - $this->assertFalse($input->readVarint32($var)); - - // Corrupted varint. - $input = new InputStream(hex2bin('808080')); - $this->assertFalse($input->readVarint32($var)); - - // Normal case. - $input = new InputStream(hex2bin('808001')); - $this->assertTrue($input->readVarint32($var)); - $this->assertSame(16384, $var); - $this->assertFalse($input->readVarint32($var)); - - // Read two varint. - $input = new InputStream(hex2bin('808001808002')); - $this->assertTrue($input->readVarint32($var)); - $this->assertSame(16384, $var); - $this->assertTrue($input->readVarint32($var)); - $this->assertSame(32768, $var); - $this->assertFalse($input->readVarint32($var)); - - // Read a 64-bit integer. High-order bits should be discarded. - $input = new InputStream(hex2bin('808081808001')); - $this->assertTrue($input->readVarint32($var)); - $this->assertSame(16384, $var); - $this->assertFalse($input->readVarint32($var)); - } - - public function testReadTag() - { - $input = new InputStream(hex2bin('808001')); - $tag = $input->readTag(); - $this->assertSame(16384, $tag); - $tag = $input->readTag(); - $this->assertSame(0, $tag); - } - - public function testPushPopLimit() - { - $input = new InputStream(hex2bin('808001')); - $old_limit = $input->pushLimit(0); - $tag = $input->readTag(); - $this->assertSame(0, $tag); - $input->popLimit($old_limit); - $tag = $input->readTag(); - $this->assertSame(16384, $tag); - } - - public function testReadRaw() - { - $input = new InputStream(hex2bin('808001')); - $buffer = null; - - $this->assertTrue($input->readRaw(3, $buffer)); - $this->assertSame(hex2bin('808001'), $buffer); - - $this->assertFalse($input->readRaw(1, $buffer)); - } - - public function testWriteVarint32() - { - $output = new OutputStream(3); - $output->writeVarint32(16384); - $this->assertSame(hex2bin('808001'), $output->getData()); - - // Negative numbers are padded to be compatible with int64. - $output = new OutputStream(10); - $output->writeVarint32(-43); - $this->assertSame(hex2bin('D5FFFFFFFFFFFFFFFF01'), $output->getData()); - } - - public function testWriteVarint64() - { - $output = new OutputStream(10); - $output->writeVarint64(-43); - $this->assertSame(hex2bin('D5FFFFFFFFFFFFFFFF01'), $output->getData()); - } - - public function testWriteLittleEndian32() - { - $output = new OutputStream(4); - $output->writeLittleEndian32(46); - $this->assertSame(hex2bin('2E000000'), $output->getData()); - } - - public function testWriteLittleEndian64() - { - $output = new OutputStream(8); - $output->writeLittleEndian64(47); - $this->assertSame(hex2bin('2F00000000000000'), $output->getData()); - } - - public function testByteSize() - { - $m = new TestMessage(); - TestUtil::setTestMessage($m); - $this->assertSame(506, $m->byteSize()); - } - - public function testPackedByteSize() - { - $m = new TestPackedMessage(); - TestUtil::setTestPackedMessage($m); - $this->assertSame(166, $m->byteSize()); - } -} diff --git a/third_party/protobuf/php/tests/proto/test.proto b/third_party/protobuf/php/tests/proto/test.proto deleted file mode 100644 index 1a47a3f291..0000000000 --- a/third_party/protobuf/php/tests/proto/test.proto +++ /dev/null @@ -1,149 +0,0 @@ -syntax = "proto3"; - -import 'proto/test_include.proto'; -import 'proto/test_prefix.proto'; - -package foo; - -message TestMessage { - // Singular - int32 optional_int32 = 1; - int64 optional_int64 = 2; - uint32 optional_uint32 = 3; - uint64 optional_uint64 = 4; - sint32 optional_sint32 = 5; - sint64 optional_sint64 = 6; - fixed32 optional_fixed32 = 7; - fixed64 optional_fixed64 = 8; - sfixed32 optional_sfixed32 = 9; - sfixed64 optional_sfixed64 = 10; - float optional_float = 11; - double optional_double = 12; - bool optional_bool = 13; - string optional_string = 14; - bytes optional_bytes = 15; - - TestEnum optional_enum = 16; - Sub optional_message = 17; - bar.TestInclude optional_included_message = 18; - TestMessage recursive = 19; - - // Repeated - repeated int32 repeated_int32 = 31; - repeated int64 repeated_int64 = 32; - repeated uint32 repeated_uint32 = 33; - repeated uint64 repeated_uint64 = 34; - repeated sint32 repeated_sint32 = 35; - repeated sint64 repeated_sint64 = 36; - repeated fixed32 repeated_fixed32 = 37; - repeated fixed64 repeated_fixed64 = 38; - repeated sfixed32 repeated_sfixed32 = 39; - repeated sfixed64 repeated_sfixed64 = 40; - repeated float repeated_float = 41; - repeated double repeated_double = 42; - repeated bool repeated_bool = 43; - repeated string repeated_string = 44; - repeated bytes repeated_bytes = 45; - - repeated TestEnum repeated_enum = 46; - repeated Sub repeated_message = 47; - repeated TestMessage repeated_recursive = 48; - - oneof my_oneof { - int32 oneof_int32 = 51; - int64 oneof_int64 = 52; - uint32 oneof_uint32 = 53; - uint64 oneof_uint64 = 54; - uint32 oneof_sint32 = 55; - uint64 oneof_sint64 = 56; - uint32 oneof_fixed32 = 57; - uint64 oneof_fixed64 = 58; - uint32 oneof_sfixed32 = 59; - uint64 oneof_sfixed64 = 60; - double oneof_double = 61; - float oneof_float = 62; - bool oneof_bool = 63; - string oneof_string = 64; - bytes oneof_bytes = 65; - TestEnum oneof_enum = 66; - Sub oneof_message = 67; - } - - map<int32, int32> map_int32_int32 = 71; - map<int64, int64> map_int64_int64 = 72; - map<uint32, uint32> map_uint32_uint32 = 73; - map<uint64, uint64> map_uint64_uint64 = 74; - map<sint32, sint32> map_sint32_sint32 = 75; - map<sint64, sint64> map_sint64_sint64 = 76; - map<fixed32, fixed32> map_fixed32_fixed32 = 77; - map<fixed64, fixed64> map_fixed64_fixed64 = 78; - map<sfixed32, sfixed32> map_sfixed32_sfixed32 = 79; - map<sfixed64, sfixed64> map_sfixed64_sfixed64 = 80; - map<int32, float> map_int32_float = 81; - map<int32, double> map_int32_double = 82; - map<bool, bool> map_bool_bool = 83; - map<string, string> map_string_string = 84; - map<int32, bytes> map_int32_bytes = 85; - map<int32, TestEnum> map_int32_enum = 86; - map<int32, Sub> map_int32_message = 87; - - map<int32, TestMessage> map_recursive = 88; - - message Sub { - int32 a = 1; - repeated int32 b = 2; - } - - // Reserved for non-existing field test. - // int32 non_exist = 89; -} - -enum TestEnum { - ZERO = 0; - ONE = 1; - TWO = 2; -} - -message TestPackedMessage { - repeated int32 repeated_int32 = 90 [packed = true]; - repeated int64 repeated_int64 = 91 [packed = true]; - repeated uint32 repeated_uint32 = 92 [packed = true]; - repeated uint64 repeated_uint64 = 93 [packed = true]; - repeated sint32 repeated_sint32 = 94 [packed = true]; - repeated sint64 repeated_sint64 = 95 [packed = true]; - repeated fixed32 repeated_fixed32 = 96 [packed = true]; - repeated fixed64 repeated_fixed64 = 97 [packed = true]; - repeated sfixed32 repeated_sfixed32 = 98 [packed = true]; - repeated sfixed64 repeated_sfixed64 = 99 [packed = true]; - repeated float repeated_float = 100 [packed = true]; - repeated double repeated_double = 101 [packed = true]; - repeated bool repeated_bool = 102 [packed = true]; - repeated TestEnum repeated_enum = 103 [packed = true]; -} - -// Need to be in sync with TestPackedMessage. -message TestUnpackedMessage { - repeated int32 repeated_int32 = 90 [packed = false]; - repeated int64 repeated_int64 = 91 [packed = false]; - repeated uint32 repeated_uint32 = 92 [packed = false]; - repeated uint64 repeated_uint64 = 93 [packed = false]; - repeated sint32 repeated_sint32 = 94 [packed = false]; - repeated sint64 repeated_sint64 = 95 [packed = false]; - repeated fixed32 repeated_fixed32 = 96 [packed = false]; - repeated fixed64 repeated_fixed64 = 97 [packed = false]; - repeated sfixed32 repeated_sfixed32 = 98 [packed = false]; - repeated sfixed64 repeated_sfixed64 = 99 [packed = false]; - repeated float repeated_float = 100 [packed = false]; - repeated double repeated_double = 101 [packed = false]; - repeated bool repeated_bool = 102 [packed = false]; - repeated TestEnum repeated_enum = 103 [packed = false]; -} - -// /**/@<>&\{ -message TestPhpDoc { - int32 a = 1; -} - -message TestIncludePrefixMessage { - TestPrefix prefix_message = 1; -} diff --git a/third_party/protobuf/php/tests/proto/test_include.proto b/third_party/protobuf/php/tests/proto/test_include.proto deleted file mode 100644 index 9844617fa8..0000000000 --- a/third_party/protobuf/php/tests/proto/test_include.proto +++ /dev/null @@ -1,7 +0,0 @@ -syntax = "proto3"; - -package bar; - -message TestInclude { - int32 a = 1; -} diff --git a/third_party/protobuf/php/tests/proto/test_no_namespace.proto b/third_party/protobuf/php/tests/proto/test_no_namespace.proto deleted file mode 100644 index b8c4fdf2fc..0000000000 --- a/third_party/protobuf/php/tests/proto/test_no_namespace.proto +++ /dev/null @@ -1,10 +0,0 @@ -syntax = "proto3"; - -message NoNameSpaceMessage { - int32 a = 1; -} - -enum NoNameSpaceEnum { - VALUE_A = 0; - VALUE_B = 1; -} diff --git a/third_party/protobuf/php/tests/proto/test_prefix.proto b/third_party/protobuf/php/tests/proto/test_prefix.proto deleted file mode 100644 index 045821217c..0000000000 --- a/third_party/protobuf/php/tests/proto/test_prefix.proto +++ /dev/null @@ -1,7 +0,0 @@ -syntax = "proto3"; - -option php_class_prefix = "Prefix"; - -message TestPrefix { - int32 a = 1; -} diff --git a/third_party/protobuf/php/tests/test.sh b/third_party/protobuf/php/tests/test.sh deleted file mode 100755 index fc3f018650..0000000000 --- a/third_party/protobuf/php/tests/test.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -# Compile c extension -pushd ../ext/google/protobuf/ -make clean -set -e -# Add following in configure for debug: --enable-debug CFLAGS='-g -O0' -phpize && ./configure --enable-debug CFLAGS='-g -O0' && make -popd - -tests=( array_test.php encode_decode_test.php generated_class_test.php map_field_test.php well_known_test.php ) - -for t in "${tests[@]}" -do - echo "****************************" - echo "* $t" - echo "****************************" - php -dextension=../ext/google/protobuf/modules/protobuf.so `which phpunit` --bootstrap autoload.php $t - echo "" -done - -# # Make sure to run the memory test in debug mode. -# php -dextension=../ext/google/protobuf/modules/protobuf.so memory_leak_test.php - -export ZEND_DONT_UNLOAD_MODULES=1 -export USE_ZEND_ALLOC=0 -valgrind --leak-check=yes php -dextension=../ext/google/protobuf/modules/protobuf.so memory_leak_test.php diff --git a/third_party/protobuf/php/tests/test_base.php b/third_party/protobuf/php/tests/test_base.php deleted file mode 100644 index 67048f4cae..0000000000 --- a/third_party/protobuf/php/tests/test_base.php +++ /dev/null @@ -1,339 +0,0 @@ -<?php - -use Foo\TestMessage; -use Foo\TestEnum; -use Foo\TestMessage_Sub; - -class TestBase extends PHPUnit_Framework_TestCase -{ - - public function setFields(TestMessage $m) - { - TestUtil::setTestMessage($m); - } - - public function setFields2(TestMessage $m) - { - TestUtil::setTestMessage2($m); - } - - public function expectFields(TestMessage $m) - { - $this->assertSame(-44, $m->getOptionalSint32()); - $this->assertSame(46, $m->getOptionalFixed32()); - $this->assertSame(-46, $m->getOptionalSfixed32()); - $this->assertSame(1.5, $m->getOptionalFloat()); - $this->assertSame(1.6, $m->getOptionalDouble()); - $this->assertSame(true, $m->getOptionalBool()); - $this->assertSame('a', $m->getOptionalString()); - $this->assertSame('b', $m->getOptionalBytes()); - $this->assertSame(33, $m->getOptionalMessage()->getA()); - if (PHP_INT_SIZE == 4) { - $this->assertSame('-43', $m->getOptionalInt64()); - $this->assertSame('43', $m->getOptionalUint64()); - $this->assertSame('-45', $m->getOptionalSint64()); - $this->assertSame('47', $m->getOptionalFixed64()); - $this->assertSame('-47', $m->getOptionalSfixed64()); - } else { - $this->assertSame(-43, $m->getOptionalInt64()); - $this->assertSame(43, $m->getOptionalUint64()); - $this->assertSame(-45, $m->getOptionalSint64()); - $this->assertSame(47, $m->getOptionalFixed64()); - $this->assertSame(-47, $m->getOptionalSfixed64()); - } - - $this->assertEquals(-42, $m->getRepeatedInt32()[0]); - $this->assertEquals(42, $m->getRepeatedUint32()[0]); - $this->assertEquals(-43, $m->getRepeatedInt64()[0]); - $this->assertEquals(43, $m->getRepeatedUint64()[0]); - $this->assertEquals(-44, $m->getRepeatedSint32()[0]); - $this->assertEquals(-45, $m->getRepeatedSint64()[0]); - $this->assertEquals(46, $m->getRepeatedFixed32()[0]); - $this->assertEquals(47, $m->getRepeatedFixed64()[0]); - $this->assertEquals(-46, $m->getRepeatedSfixed32()[0]); - $this->assertEquals(-47, $m->getRepeatedSfixed64()[0]); - $this->assertEquals(1.5, $m->getRepeatedFloat()[0]); - $this->assertEquals(1.6, $m->getRepeatedDouble()[0]); - $this->assertEquals(true, $m->getRepeatedBool()[0]); - $this->assertEquals('a', $m->getRepeatedString()[0]); - $this->assertEquals('b', $m->getRepeatedBytes()[0]); - $this->assertEquals(34, $m->getRepeatedMessage()[0]->GetA()); - - $this->assertEquals(-52, $m->getRepeatedInt32()[1]); - $this->assertEquals(52, $m->getRepeatedUint32()[1]); - $this->assertEquals(-53, $m->getRepeatedInt64()[1]); - $this->assertEquals(53, $m->getRepeatedUint64()[1]); - $this->assertEquals(-54, $m->getRepeatedSint32()[1]); - $this->assertEquals(-55, $m->getRepeatedSint64()[1]); - $this->assertEquals(56, $m->getRepeatedFixed32()[1]); - $this->assertEquals(57, $m->getRepeatedFixed64()[1]); - $this->assertEquals(-56, $m->getRepeatedSfixed32()[1]); - $this->assertEquals(-57, $m->getRepeatedSfixed64()[1]); - $this->assertEquals(2.5, $m->getRepeatedFloat()[1]); - $this->assertEquals(2.6, $m->getRepeatedDouble()[1]); - $this->assertEquals(false, $m->getRepeatedBool()[1]); - $this->assertEquals('c', $m->getRepeatedString()[1]); - $this->assertEquals('d', $m->getRepeatedBytes()[1]); - $this->assertEquals(35, $m->getRepeatedMessage()[1]->GetA()); - - if (PHP_INT_SIZE == 4) { - $this->assertEquals('-63', $m->getMapInt64Int64()['-63']); - $this->assertEquals('63', $m->getMapUint64Uint64()['63']); - $this->assertEquals('-65', $m->getMapSint64Sint64()['-65']); - $this->assertEquals('67', $m->getMapFixed64Fixed64()['67']); - $this->assertEquals('-69', $m->getMapSfixed64Sfixed64()['-69']); - } else { - $this->assertEquals(-63, $m->getMapInt64Int64()[-63]); - $this->assertEquals(63, $m->getMapUint64Uint64()[63]); - $this->assertEquals(-65, $m->getMapSint64Sint64()[-65]); - $this->assertEquals(67, $m->getMapFixed64Fixed64()[67]); - $this->assertEquals(-69, $m->getMapSfixed64Sfixed64()[-69]); - } - $this->assertEquals(-62, $m->getMapInt32Int32()[-62]); - $this->assertEquals(62, $m->getMapUint32Uint32()[62]); - $this->assertEquals(-64, $m->getMapSint32Sint32()[-64]); - $this->assertEquals(66, $m->getMapFixed32Fixed32()[66]); - $this->assertEquals(-68, $m->getMapSfixed32Sfixed32()[-68]); - $this->assertEquals(3.5, $m->getMapInt32Float()[1]); - $this->assertEquals(3.6, $m->getMapInt32Double()[1]); - $this->assertEquals(true , $m->getMapBoolBool()[true]); - $this->assertEquals('e', $m->getMapStringString()['e']); - $this->assertEquals('f', $m->getMapInt32Bytes()[1]); - $this->assertEquals(TestEnum::ONE, $m->getMapInt32Enum()[1]); - $this->assertEquals(36, $m->getMapInt32Message()[1]->GetA()); - } - - // Test message merged from setFields and setFields2. - public function expectFieldsMerged(TestMessage $m) - { - $this->assertSame(-144, $m->getOptionalSint32()); - $this->assertSame(146, $m->getOptionalFixed32()); - $this->assertSame(-146, $m->getOptionalSfixed32()); - $this->assertSame(11.5, $m->getOptionalFloat()); - $this->assertSame(11.6, $m->getOptionalDouble()); - $this->assertSame(true, $m->getOptionalBool()); - $this->assertSame('aa', $m->getOptionalString()); - $this->assertSame('bb', $m->getOptionalBytes()); - $this->assertSame(133, $m->getOptionalMessage()->getA()); - if (PHP_INT_SIZE == 4) { - $this->assertSame('-143', $m->getOptionalInt64()); - $this->assertSame('143', $m->getOptionalUint64()); - $this->assertSame('-145', $m->getOptionalSint64()); - $this->assertSame('147', $m->getOptionalFixed64()); - $this->assertSame('-147', $m->getOptionalSfixed64()); - } else { - $this->assertSame(-143, $m->getOptionalInt64()); - $this->assertSame(143, $m->getOptionalUint64()); - $this->assertSame(-145, $m->getOptionalSint64()); - $this->assertSame(147, $m->getOptionalFixed64()); - $this->assertSame(-147, $m->getOptionalSfixed64()); - } - - $this->assertEquals(-42, $m->getRepeatedInt32()[0]); - $this->assertEquals(42, $m->getRepeatedUint32()[0]); - $this->assertEquals(-43, $m->getRepeatedInt64()[0]); - $this->assertEquals(43, $m->getRepeatedUint64()[0]); - $this->assertEquals(-44, $m->getRepeatedSint32()[0]); - $this->assertEquals(-45, $m->getRepeatedSint64()[0]); - $this->assertEquals(46, $m->getRepeatedFixed32()[0]); - $this->assertEquals(47, $m->getRepeatedFixed64()[0]); - $this->assertEquals(-46, $m->getRepeatedSfixed32()[0]); - $this->assertEquals(-47, $m->getRepeatedSfixed64()[0]); - $this->assertEquals(1.5, $m->getRepeatedFloat()[0]); - $this->assertEquals(1.6, $m->getRepeatedDouble()[0]); - $this->assertEquals(true, $m->getRepeatedBool()[0]); - $this->assertEquals('a', $m->getRepeatedString()[0]); - $this->assertEquals('b', $m->getRepeatedBytes()[0]); - $this->assertEquals(TestEnum::ZERO, $m->getRepeatedEnum()[0]); - $this->assertEquals(34, $m->getRepeatedMessage()[0]->GetA()); - - $this->assertEquals(-52, $m->getRepeatedInt32()[1]); - $this->assertEquals(52, $m->getRepeatedUint32()[1]); - $this->assertEquals(-53, $m->getRepeatedInt64()[1]); - $this->assertEquals(53, $m->getRepeatedUint64()[1]); - $this->assertEquals(-54, $m->getRepeatedSint32()[1]); - $this->assertEquals(-55, $m->getRepeatedSint64()[1]); - $this->assertEquals(56, $m->getRepeatedFixed32()[1]); - $this->assertEquals(57, $m->getRepeatedFixed64()[1]); - $this->assertEquals(-56, $m->getRepeatedSfixed32()[1]); - $this->assertEquals(-57, $m->getRepeatedSfixed64()[1]); - $this->assertEquals(2.5, $m->getRepeatedFloat()[1]); - $this->assertEquals(2.6, $m->getRepeatedDouble()[1]); - $this->assertEquals(false, $m->getRepeatedBool()[1]); - $this->assertEquals('c', $m->getRepeatedString()[1]); - $this->assertEquals('d', $m->getRepeatedBytes()[1]); - $this->assertEquals(TestEnum::ONE, $m->getRepeatedEnum()[1]); - $this->assertEquals(35, $m->getRepeatedMessage()[1]->GetA()); - - $this->assertEquals(-142, $m->getRepeatedInt32()[2]); - $this->assertEquals(142, $m->getRepeatedUint32()[2]); - $this->assertEquals(-143, $m->getRepeatedInt64()[2]); - $this->assertEquals(143, $m->getRepeatedUint64()[2]); - $this->assertEquals(-144, $m->getRepeatedSint32()[2]); - $this->assertEquals(-145, $m->getRepeatedSint64()[2]); - $this->assertEquals(146, $m->getRepeatedFixed32()[2]); - $this->assertEquals(147, $m->getRepeatedFixed64()[2]); - $this->assertEquals(-146, $m->getRepeatedSfixed32()[2]); - $this->assertEquals(-147, $m->getRepeatedSfixed64()[2]); - $this->assertEquals(11.5, $m->getRepeatedFloat()[2]); - $this->assertEquals(11.6, $m->getRepeatedDouble()[2]); - $this->assertEquals(false, $m->getRepeatedBool()[2]); - $this->assertEquals('aa', $m->getRepeatedString()[2]); - $this->assertEquals('bb', $m->getRepeatedBytes()[2]); - $this->assertEquals(TestEnum::TWO, $m->getRepeatedEnum()[2]); - $this->assertEquals(134, $m->getRepeatedMessage()[2]->GetA()); - - if (PHP_INT_SIZE == 4) { - $this->assertEquals('-163', $m->getMapInt64Int64()['-63']); - $this->assertEquals('163', $m->getMapUint64Uint64()['63']); - $this->assertEquals('-165', $m->getMapSint64Sint64()['-65']); - $this->assertEquals('167', $m->getMapFixed64Fixed64()['67']); - $this->assertEquals('-169', $m->getMapSfixed64Sfixed64()['-69']); - } else { - $this->assertEquals(-163, $m->getMapInt64Int64()[-63]); - $this->assertEquals(163, $m->getMapUint64Uint64()[63]); - $this->assertEquals(-165, $m->getMapSint64Sint64()[-65]); - $this->assertEquals(167, $m->getMapFixed64Fixed64()[67]); - $this->assertEquals(-169, $m->getMapSfixed64Sfixed64()[-69]); - } - $this->assertEquals(-162, $m->getMapInt32Int32()[-62]); - $this->assertEquals(162, $m->getMapUint32Uint32()[62]); - $this->assertEquals(-164, $m->getMapSint32Sint32()[-64]); - $this->assertEquals(166, $m->getMapFixed32Fixed32()[66]); - $this->assertEquals(-168, $m->getMapSfixed32Sfixed32()[-68]); - $this->assertEquals(13.5, $m->getMapInt32Float()[1]); - $this->assertEquals(13.6, $m->getMapInt32Double()[1]); - $this->assertEquals(false , $m->getMapBoolBool()[true]); - $this->assertEquals('ee', $m->getMapStringString()['e']); - $this->assertEquals('ff', $m->getMapInt32Bytes()[1]); - $this->assertEquals(TestEnum::TWO, $m->getMapInt32Enum()[1]); - $this->assertEquals(136, $m->getMapInt32Message()[1]->GetA()); - - if (PHP_INT_SIZE == 4) { - $this->assertEquals('-163', $m->getMapInt64Int64()['-163']); - $this->assertEquals('163', $m->getMapUint64Uint64()['163']); - $this->assertEquals('-165', $m->getMapSint64Sint64()['-165']); - $this->assertEquals('167', $m->getMapFixed64Fixed64()['167']); - $this->assertEquals('-169', $m->getMapSfixed64Sfixed64()['-169']); - } else { - $this->assertEquals(-163, $m->getMapInt64Int64()[-163]); - $this->assertEquals(163, $m->getMapUint64Uint64()[163]); - $this->assertEquals(-165, $m->getMapSint64Sint64()[-165]); - $this->assertEquals(167, $m->getMapFixed64Fixed64()[167]); - $this->assertEquals(-169, $m->getMapSfixed64Sfixed64()[-169]); - } - $this->assertEquals(-162, $m->getMapInt32Int32()[-162]); - $this->assertEquals(162, $m->getMapUint32Uint32()[162]); - $this->assertEquals(-164, $m->getMapSint32Sint32()[-164]); - $this->assertEquals(166, $m->getMapFixed32Fixed32()[166]); - $this->assertEquals(-168, $m->getMapSfixed32Sfixed32()[-168]); - $this->assertEquals(13.5, $m->getMapInt32Float()[2]); - $this->assertEquals(13.6, $m->getMapInt32Double()[2]); - $this->assertEquals(false , $m->getMapBoolBool()[false]); - $this->assertEquals('ee', $m->getMapStringString()['ee']); - $this->assertEquals('ff', $m->getMapInt32Bytes()[2]); - $this->assertEquals(TestEnum::TWO, $m->getMapInt32Enum()[2]); - $this->assertEquals(136, $m->getMapInt32Message()[2]->GetA()); - } - - public function expectEmptyFields(TestMessage $m) - { - $this->assertSame(0, $m->getOptionalInt32()); - $this->assertSame(0, $m->getOptionalUint32()); - $this->assertSame(0, $m->getOptionalSint32()); - $this->assertSame(0, $m->getOptionalFixed32()); - $this->assertSame(0, $m->getOptionalSfixed32()); - $this->assertSame(0.0, $m->getOptionalFloat()); - $this->assertSame(0.0, $m->getOptionalDouble()); - $this->assertSame(false, $m->getOptionalBool()); - $this->assertSame('', $m->getOptionalString()); - $this->assertSame('', $m->getOptionalBytes()); - $this->assertSame(0, $m->getOptionalEnum()); - $this->assertNull($m->getOptionalMessage()); - $this->assertNull($m->getOptionalIncludedMessage()); - $this->assertNull($m->getRecursive()); - if (PHP_INT_SIZE == 4) { - $this->assertSame("0", $m->getOptionalInt64()); - $this->assertSame("0", $m->getOptionalUint64()); - $this->assertSame("0", $m->getOptionalSint64()); - $this->assertSame("0", $m->getOptionalFixed64()); - $this->assertSame("0", $m->getOptionalSfixed64()); - } else { - $this->assertSame(0, $m->getOptionalInt64()); - $this->assertSame(0, $m->getOptionalUint64()); - $this->assertSame(0, $m->getOptionalSint64()); - $this->assertSame(0, $m->getOptionalFixed64()); - $this->assertSame(0, $m->getOptionalSfixed64()); - } - - $this->assertEquals(0, count($m->getRepeatedInt32())); - $this->assertEquals(0, count($m->getRepeatedUint32())); - $this->assertEquals(0, count($m->getRepeatedInt64())); - $this->assertEquals(0, count($m->getRepeatedUint64())); - $this->assertEquals(0, count($m->getRepeatedSint32())); - $this->assertEquals(0, count($m->getRepeatedSint64())); - $this->assertEquals(0, count($m->getRepeatedFixed32())); - $this->assertEquals(0, count($m->getRepeatedFixed64())); - $this->assertEquals(0, count($m->getRepeatedSfixed32())); - $this->assertEquals(0, count($m->getRepeatedSfixed64())); - $this->assertEquals(0, count($m->getRepeatedFloat())); - $this->assertEquals(0, count($m->getRepeatedDouble())); - $this->assertEquals(0, count($m->getRepeatedBool())); - $this->assertEquals(0, count($m->getRepeatedString())); - $this->assertEquals(0, count($m->getRepeatedBytes())); - $this->assertEquals(0, count($m->getRepeatedEnum())); - $this->assertEquals(0, count($m->getRepeatedMessage())); - $this->assertEquals(0, count($m->getRepeatedRecursive())); - - $this->assertSame("", $m->getMyOneof()); - $this->assertSame(0, $m->getOneofInt32()); - $this->assertSame(0, $m->getOneofUint32()); - $this->assertSame(0, $m->getOneofSint32()); - $this->assertSame(0, $m->getOneofFixed32()); - $this->assertSame(0, $m->getOneofSfixed32()); - $this->assertSame(0.0, $m->getOneofFloat()); - $this->assertSame(0.0, $m->getOneofDouble()); - $this->assertSame(false, $m->getOneofBool()); - $this->assertSame('', $m->getOneofString()); - $this->assertSame('', $m->getOneofBytes()); - $this->assertSame(0, $m->getOneofEnum()); - $this->assertNull($m->getOptionalMessage()); - if (PHP_INT_SIZE == 4) { - $this->assertSame("0", $m->getOneofInt64()); - $this->assertSame("0", $m->getOneofUint64()); - $this->assertSame("0", $m->getOneofSint64()); - $this->assertSame("0", $m->getOneofFixed64()); - $this->assertSame("0", $m->getOneofSfixed64()); - } else { - $this->assertSame(0, $m->getOneofInt64()); - $this->assertSame(0, $m->getOneofUint64()); - $this->assertSame(0, $m->getOneofSint64()); - $this->assertSame(0, $m->getOneofFixed64()); - $this->assertSame(0, $m->getOneofSfixed64()); - } - - $this->assertEquals(0, count($m->getMapInt64Int64())); - $this->assertEquals(0, count($m->getMapUint64Uint64())); - $this->assertEquals(0, count($m->getMapSint64Sint64())); - $this->assertEquals(0, count($m->getMapFixed64Fixed64())); - $this->assertEquals(0, count($m->getMapInt32Int32())); - $this->assertEquals(0, count($m->getMapUint32Uint32())); - $this->assertEquals(0, count($m->getMapSint32Sint32())); - $this->assertEquals(0, count($m->getMapFixed32Fixed32())); - $this->assertEquals(0, count($m->getMapSfixed32Sfixed32())); - $this->assertEquals(0, count($m->getMapSfixed64Sfixed64())); - $this->assertEquals(0, count($m->getMapInt32Float())); - $this->assertEquals(0, count($m->getMapInt32Double())); - $this->assertEquals(0, count($m->getMapBoolBool())); - $this->assertEquals(0, count($m->getMapStringString())); - $this->assertEquals(0, count($m->getMapInt32Bytes())); - $this->assertEquals(0, count($m->getMapInt32Enum())); - $this->assertEquals(0, count($m->getMapInt32Message())); - $this->assertEquals(0, count($m->getMapRecursive())); - } - - // This test is to avoid the warning of no test by php unit. - public function testNone() - { - } -} diff --git a/third_party/protobuf/php/tests/test_util.php b/third_party/protobuf/php/tests/test_util.php deleted file mode 100644 index 61f94aa108..0000000000 --- a/third_party/protobuf/php/tests/test_util.php +++ /dev/null @@ -1,528 +0,0 @@ -<?php - -use Foo\TestEnum; -use Foo\TestMessage; -use Foo\TestMessage_Sub; -use Foo\TestPackedMessage; -use Foo\TestUnpackedMessage; - -define('MAX_FLOAT_DIFF', 0.000001); - -if (PHP_INT_SIZE == 8) { - define('MAX_INT_STRING', '9223372036854775807'); - define('MAX_INT_UPPER_STRING', '9223372036854775808'); -} else { - define('MAX_INT_STRING', '2147483647'); - define('MAX_INT_UPPER_STRING', '2147483648'); -} - -define('MAX_INT32', 2147483647); -define('MAX_INT32_FLOAT', 2147483647.0); -define('MAX_INT32_STRING', '2147483647'); - -define('MIN_INT32', (int)-2147483648); -define('MIN_INT32_FLOAT', -2147483648.0); -define('MIN_INT32_STRING', '-2147483648'); - -define('MAX_UINT32', 4294967295); -define('MAX_UINT32_FLOAT', 4294967295.0); -define('MAX_UINT32_STRING', '4294967295'); - -define('MIN_UINT32', (int)-2147483648); -define('MIN_UINT32_FLOAT', -2147483648.0); -define('MIN_UINT32_STRING', '-2147483648'); - -define('MAX_INT64_STRING', '9223372036854775807'); -define('MIN_INT64_STRING', '-9223372036854775808'); -define('MAX_UINT64_STRING', '-9223372036854775808'); - -if (PHP_INT_SIZE === 8) { - define('MAX_INT64', (int)9223372036854775807); - define('MIN_INT64', (int)-9223372036854775808); - define('MAX_UINT64', (int)-9223372036854775808); -} else { - define('MAX_INT64', MAX_INT64_STRING); - define('MIN_INT64', MIN_INT64_STRING); - define('MAX_UINT64', MAX_UINT64_STRING); -} - -class TestUtil -{ - - public static function setTestMessage(TestMessage $m) - { - $sub = new TestMessage_Sub(); - - $m->setOptionalInt32(-42); - $m->setOptionalInt64(-43); - $m->setOptionalUint32(42); - $m->setOptionalUint64(43); - $m->setOptionalSint32(-44); - $m->setOptionalSint64(-45); - $m->setOptionalFixed32(46); - $m->setOptionalFixed64(47); - $m->setOptionalSfixed32(-46); - $m->setOptionalSfixed64(-47); - $m->setOptionalFloat(1.5); - $m->setOptionalDouble(1.6); - $m->setOptionalBool(true); - $m->setOptionalString('a'); - $m->setOptionalBytes('b'); - $m->setOptionalEnum(TestEnum::ONE); - $m->setOptionalMessage($sub); - $m->getOptionalMessage()->SetA(33); - - $m->getRepeatedInt32() []= -42; - $m->getRepeatedInt64() []= -43; - $m->getRepeatedUint32() []= 42; - $m->getRepeatedUint64() []= 43; - $m->getRepeatedSint32() []= -44; - $m->getRepeatedSint64() []= -45; - $m->getRepeatedFixed32() []= 46; - $m->getRepeatedFixed64() []= 47; - $m->getRepeatedSfixed32() []= -46; - $m->getRepeatedSfixed64() []= -47; - $m->getRepeatedFloat() []= 1.5; - $m->getRepeatedDouble() []= 1.6; - $m->getRepeatedBool() []= true; - $m->getRepeatedString() []= 'a'; - $m->getRepeatedBytes() []= 'b'; - $m->getRepeatedEnum() []= TestEnum::ZERO; - $m->getRepeatedMessage() []= new TestMessage_Sub(); - $m->getRepeatedMessage()[0]->setA(34); - - $m->getRepeatedInt32() []= -52; - $m->getRepeatedInt64() []= -53; - $m->getRepeatedUint32() []= 52; - $m->getRepeatedUint64() []= 53; - $m->getRepeatedSint32() []= -54; - $m->getRepeatedSint64() []= -55; - $m->getRepeatedFixed32() []= 56; - $m->getRepeatedFixed64() []= 57; - $m->getRepeatedSfixed32() []= -56; - $m->getRepeatedSfixed64() []= -57; - $m->getRepeatedFloat() []= 2.5; - $m->getRepeatedDouble() []= 2.6; - $m->getRepeatedBool() []= false; - $m->getRepeatedString() []= 'c'; - $m->getRepeatedBytes() []= 'd'; - $m->getRepeatedEnum() []= TestEnum::ONE; - $m->getRepeatedMessage() []= new TestMessage_Sub(); - $m->getRepeatedMessage()[1]->SetA(35); - - $m->getMapInt32Int32()[-62] = -62; - $m->getMapInt64Int64()[-63] = -63; - $m->getMapUint32Uint32()[62] = 62; - $m->getMapUint64Uint64()[63] = 63; - $m->getMapSint32Sint32()[-64] = -64; - $m->getMapSint64Sint64()[-65] = -65; - $m->getMapFixed32Fixed32()[66] = 66; - $m->getMapFixed64Fixed64()[67] = 67; - $m->getMapSfixed32Sfixed32()[-68] = -68; - $m->getMapSfixed64Sfixed64()[-69] = -69; - $m->getMapInt32Float()[1] = 3.5; - $m->getMapInt32Double()[1] = 3.6; - $m->getMapBoolBool()[true] = true; - $m->getMapStringString()['e'] = 'e'; - $m->getMapInt32Bytes()[1] = 'f'; - $m->getMapInt32Enum()[1] = TestEnum::ONE; - $m->getMapInt32Message()[1] = new TestMessage_Sub(); - $m->getMapInt32Message()[1]->SetA(36); - } - - public static function setTestMessage2(TestMessage $m) - { - $sub = new TestMessage_Sub(); - - $m->setOptionalInt32(-142); - $m->setOptionalInt64(-143); - $m->setOptionalUint32(142); - $m->setOptionalUint64(143); - $m->setOptionalSint32(-144); - $m->setOptionalSint64(-145); - $m->setOptionalFixed32(146); - $m->setOptionalFixed64(147); - $m->setOptionalSfixed32(-146); - $m->setOptionalSfixed64(-147); - $m->setOptionalFloat(11.5); - $m->setOptionalDouble(11.6); - $m->setOptionalBool(true); - $m->setOptionalString('aa'); - $m->setOptionalBytes('bb'); - $m->setOptionalEnum(TestEnum::TWO); - $m->setOptionalMessage($sub); - $m->getOptionalMessage()->SetA(133); - - $m->getRepeatedInt32() []= -142; - $m->getRepeatedInt64() []= -143; - $m->getRepeatedUint32() []= 142; - $m->getRepeatedUint64() []= 143; - $m->getRepeatedSint32() []= -144; - $m->getRepeatedSint64() []= -145; - $m->getRepeatedFixed32() []= 146; - $m->getRepeatedFixed64() []= 147; - $m->getRepeatedSfixed32() []= -146; - $m->getRepeatedSfixed64() []= -147; - $m->getRepeatedFloat() []= 11.5; - $m->getRepeatedDouble() []= 11.6; - $m->getRepeatedBool() []= false; - $m->getRepeatedString() []= 'aa'; - $m->getRepeatedBytes() []= 'bb'; - $m->getRepeatedEnum() []= TestEnum::TWO; - $m->getRepeatedMessage() []= new TestMessage_Sub(); - $m->getRepeatedMessage()[0]->setA(134); - - $m->getMapInt32Int32()[-62] = -162; - $m->getMapInt64Int64()[-63] = -163; - $m->getMapUint32Uint32()[62] = 162; - $m->getMapUint64Uint64()[63] = 163; - $m->getMapSint32Sint32()[-64] = -164; - $m->getMapSint64Sint64()[-65] = -165; - $m->getMapFixed32Fixed32()[66] = 166; - $m->getMapFixed64Fixed64()[67] = 167; - $m->getMapSfixed32Sfixed32()[-68] = -168; - $m->getMapSfixed64Sfixed64()[-69] = -169; - $m->getMapInt32Float()[1] = 13.5; - $m->getMapInt32Double()[1] = 13.6; - $m->getMapBoolBool()[true] = false; - $m->getMapStringString()['e'] = 'ee'; - $m->getMapInt32Bytes()[1] = 'ff'; - $m->getMapInt32Enum()[1] = TestEnum::TWO; - $m->getMapInt32Message()[1] = new TestMessage_Sub(); - $m->getMapInt32Message()[1]->SetA(136); - - $m->getMapInt32Int32()[-162] = -162; - $m->getMapInt64Int64()[-163] = -163; - $m->getMapUint32Uint32()[162] = 162; - $m->getMapUint64Uint64()[163] = 163; - $m->getMapSint32Sint32()[-164] = -164; - $m->getMapSint64Sint64()[-165] = -165; - $m->getMapFixed32Fixed32()[166] = 166; - $m->getMapFixed64Fixed64()[167] = 167; - $m->getMapSfixed32Sfixed32()[-168] = -168; - $m->getMapSfixed64Sfixed64()[-169] = -169; - $m->getMapInt32Float()[2] = 13.5; - $m->getMapInt32Double()[2] = 13.6; - $m->getMapBoolBool()[false] = false; - $m->getMapStringString()['ee'] = 'ee'; - $m->getMapInt32Bytes()[2] = 'ff'; - $m->getMapInt32Enum()[2] = TestEnum::TWO; - $m->getMapInt32Message()[2] = new TestMessage_Sub(); - $m->getMapInt32Message()[2]->SetA(136); - } - - public static function assertTestMessage(TestMessage $m) - { - if (PHP_INT_SIZE == 4) { - assert('-43' === $m->getOptionalInt64()); - assert('43' === $m->getOptionalUint64()); - assert('-45' === $m->getOptionalSint64()); - assert('47' === $m->getOptionalFixed64()); - assert('-47' === $m->getOptionalSfixed64()); - } else { - assert(-43 === $m->getOptionalInt64()); - assert(43 === $m->getOptionalUint64()); - assert(-45 === $m->getOptionalSint64()); - assert(47 === $m->getOptionalFixed64()); - assert(-47 === $m->getOptionalSfixed64()); - } - assert(-42 === $m->getOptionalInt32()); - assert(42 === $m->getOptionalUint32()); - assert(-44 === $m->getOptionalSint32()); - assert(46 === $m->getOptionalFixed32()); - assert(-46 === $m->getOptionalSfixed32()); - assert(1.5 === $m->getOptionalFloat()); - assert(1.6 === $m->getOptionalDouble()); - assert(true=== $m->getOptionalBool()); - assert('a' === $m->getOptionalString()); - assert('b' === $m->getOptionalBytes()); - assert(TestEnum::ONE === $m->getOptionalEnum()); - assert(33 === $m->getOptionalMessage()->getA()); - - if (PHP_INT_SIZE == 4) { - assert('-43' === $m->getRepeatedInt64()[0]); - assert('43' === $m->getRepeatedUint64()[0]); - assert('-45' === $m->getRepeatedSint64()[0]); - assert('47' === $m->getRepeatedFixed64()[0]); - assert('-47' === $m->getRepeatedSfixed64()[0]); - } else { - assert(-43 === $m->getRepeatedInt64()[0]); - assert(43 === $m->getRepeatedUint64()[0]); - assert(-45 === $m->getRepeatedSint64()[0]); - assert(47 === $m->getRepeatedFixed64()[0]); - assert(-47 === $m->getRepeatedSfixed64()[0]); - } - assert(-42 === $m->getRepeatedInt32()[0]); - assert(42 === $m->getRepeatedUint32()[0]); - assert(-44 === $m->getRepeatedSint32()[0]); - assert(46 === $m->getRepeatedFixed32()[0]); - assert(-46 === $m->getRepeatedSfixed32()[0]); - assert(1.5 === $m->getRepeatedFloat()[0]); - assert(1.6 === $m->getRepeatedDouble()[0]); - assert(true=== $m->getRepeatedBool()[0]); - assert('a' === $m->getRepeatedString()[0]); - assert('b' === $m->getRepeatedBytes()[0]); - assert(TestEnum::ZERO === $m->getRepeatedEnum()[0]); - assert(34 === $m->getRepeatedMessage()[0]->getA()); - - if (PHP_INT_SIZE == 4) { - assert('-53' === $m->getRepeatedInt64()[1]); - assert('53' === $m->getRepeatedUint64()[1]); - assert('-55' === $m->getRepeatedSint64()[1]); - assert('57' === $m->getRepeatedFixed64()[1]); - assert('-57' === $m->getRepeatedSfixed64()[1]); - } else { - assert(-53 === $m->getRepeatedInt64()[1]); - assert(53 === $m->getRepeatedUint64()[1]); - assert(-55 === $m->getRepeatedSint64()[1]); - assert(57 === $m->getRepeatedFixed64()[1]); - assert(-57 === $m->getRepeatedSfixed64()[1]); - } - assert(-52 === $m->getRepeatedInt32()[1]); - assert(52 === $m->getRepeatedUint32()[1]); - assert(-54 === $m->getRepeatedSint32()[1]); - assert(56 === $m->getRepeatedFixed32()[1]); - assert(-56 === $m->getRepeatedSfixed32()[1]); - assert(2.5 === $m->getRepeatedFloat()[1]); - assert(2.6 === $m->getRepeatedDouble()[1]); - assert(false === $m->getRepeatedBool()[1]); - assert('c' === $m->getRepeatedString()[1]); - assert('d' === $m->getRepeatedBytes()[1]); - assert(TestEnum::ONE === $m->getRepeatedEnum()[1]); - assert(35 === $m->getRepeatedMessage()[1]->getA()); - - if (PHP_INT_SIZE == 4) { - assert('-63' === $m->getMapInt64Int64()['-63']); - assert('63' === $m->getMapUint64Uint64()['63']); - assert('-65' === $m->getMapSint64Sint64()['-65']); - assert('67' === $m->getMapFixed64Fixed64()['67']); - assert('-69' === $m->getMapSfixed64Sfixed64()['-69']); - } else { - assert(-63 === $m->getMapInt64Int64()[-63]); - assert(63 === $m->getMapUint64Uint64()[63]); - assert(-65 === $m->getMapSint64Sint64()[-65]); - assert(67 === $m->getMapFixed64Fixed64()[67]); - assert(-69 === $m->getMapSfixed64Sfixed64()[-69]); - } - assert(-62 === $m->getMapInt32Int32()[-62]); - assert(62 === $m->getMapUint32Uint32()[62]); - assert(-64 === $m->getMapSint32Sint32()[-64]); - assert(66 === $m->getMapFixed32Fixed32()[66]); - assert(-68 === $m->getMapSfixed32Sfixed32()[-68]); - assert(3.5 === $m->getMapInt32Float()[1]); - assert(3.6 === $m->getMapInt32Double()[1]); - assert(true === $m->getMapBoolBool()[true]); - assert('e' === $m->getMapStringString()['e']); - assert('f' === $m->getMapInt32Bytes()[1]); - assert(TestEnum::ONE === $m->getMapInt32Enum()[1]); - assert(36 === $m->getMapInt32Message()[1]->GetA()); - } - - public static function getGoldenTestMessage() - { - return hex2bin( - "08D6FFFFFFFFFFFFFFFF01" . - "10D5FFFFFFFFFFFFFFFF01" . - "182A" . - "202B" . - "2857" . - "3059" . - "3D2E000000" . - "412F00000000000000" . - "4DD2FFFFFF" . - "51D1FFFFFFFFFFFFFF" . - "5D0000C03F" . - "619A9999999999F93F" . - "6801" . - "720161" . - "7A0162" . - "800101" . - "8A01020821" . - - "F801D6FFFFFFFFFFFFFFFF01" . - "F801CCFFFFFFFFFFFFFFFF01" . - "8002D5FFFFFFFFFFFFFFFF01" . - "8002CBFFFFFFFFFFFFFFFF01" . - "88022A" . - "880234" . - "90022B" . - "900235" . - "980257" . - "98026B" . - "A00259" . - "A0026D" . - "AD022E000000" . - "AD0238000000" . - "B1022F00000000000000" . - "B1023900000000000000" . - "BD02D2FFFFFF" . - "BD02C8FFFFFF" . - "C102D1FFFFFFFFFFFFFF" . - "C102C7FFFFFFFFFFFFFF" . - "CD020000C03F" . - "CD0200002040" . - "D1029A9999999999F93F" . - "D102CDCCCCCCCCCC0440" . - "D80201" . - "D80200" . - "E2020161" . - "E2020163" . - "EA020162" . - "EA020164" . - "F00200" . - "F00201" . - "FA02020822" . - "FA02020823" . - - "BA041608C2FFFFFFFFFFFFFFFF0110C2FFFFFFFFFFFFFFFF01" . - "C2041608C1FFFFFFFFFFFFFFFF0110C1FFFFFFFFFFFFFFFF01" . - "CA0404083E103E" . - "D20404083F103F" . - "DA0404087f107F" . - "E20406088101108101" . - "EA040A0D420000001542000000" . - "F20412094300000000000000114300000000000000" . - "FA040A0DBCFFFFFF15BCFFFFFF" . - "82051209BBFFFFFFFFFFFFFF11BBFFFFFFFFFFFFFF" . - "8A050708011500006040" . - "92050B080111CDCCCCCCCCCC0C40" . - "9A050408011001" . - "A205060a0165120165" . - "AA05050801120166" . - "B2050408011001" . - "Ba0506080112020824" - ); - } - - public static function setTestPackedMessage($m) - { - $m->getRepeatedInt32()[] = -42; - $m->getRepeatedInt32()[] = -52; - $m->getRepeatedInt64()[] = -43; - $m->getRepeatedInt64()[] = -53; - $m->getRepeatedUint32()[] = 42; - $m->getRepeatedUint32()[] = 52; - $m->getRepeatedUint64()[] = 43; - $m->getRepeatedUint64()[] = 53; - $m->getRepeatedSint32()[] = -44; - $m->getRepeatedSint32()[] = -54; - $m->getRepeatedSint64()[] = -45; - $m->getRepeatedSint64()[] = -55; - $m->getRepeatedFixed32()[] = 46; - $m->getRepeatedFixed32()[] = 56; - $m->getRepeatedFixed64()[] = 47; - $m->getRepeatedFixed64()[] = 57; - $m->getRepeatedSfixed32()[] = -46; - $m->getRepeatedSfixed32()[] = -56; - $m->getRepeatedSfixed64()[] = -47; - $m->getRepeatedSfixed64()[] = -57; - $m->getRepeatedFloat()[] = 1.5; - $m->getRepeatedFloat()[] = 2.5; - $m->getRepeatedDouble()[] = 1.6; - $m->getRepeatedDouble()[] = 2.6; - $m->getRepeatedBool()[] = true; - $m->getRepeatedBool()[] = false; - $m->getRepeatedEnum()[] = TestEnum::ONE; - $m->getRepeatedEnum()[] = TestEnum::ZERO; - } - - public static function assertTestPackedMessage($m) - { - assert(2 === count($m->getRepeatedInt32())); - assert(2 === count($m->getRepeatedInt64())); - assert(2 === count($m->getRepeatedUint32())); - assert(2 === count($m->getRepeatedUint64())); - assert(2 === count($m->getRepeatedSint32())); - assert(2 === count($m->getRepeatedSint64())); - assert(2 === count($m->getRepeatedFixed32())); - assert(2 === count($m->getRepeatedFixed64())); - assert(2 === count($m->getRepeatedSfixed32())); - assert(2 === count($m->getRepeatedSfixed64())); - assert(2 === count($m->getRepeatedFloat())); - assert(2 === count($m->getRepeatedDouble())); - assert(2 === count($m->getRepeatedBool())); - assert(2 === count($m->getRepeatedEnum())); - - assert(-42 === $m->getRepeatedInt32()[0]); - assert(-52 === $m->getRepeatedInt32()[1]); - assert(42 === $m->getRepeatedUint32()[0]); - assert(52 === $m->getRepeatedUint32()[1]); - assert(-44 === $m->getRepeatedSint32()[0]); - assert(-54 === $m->getRepeatedSint32()[1]); - assert(46 === $m->getRepeatedFixed32()[0]); - assert(56 === $m->getRepeatedFixed32()[1]); - assert(-46 === $m->getRepeatedSfixed32()[0]); - assert(-56 === $m->getRepeatedSfixed32()[1]); - assert(1.5 === $m->getRepeatedFloat()[0]); - assert(2.5 === $m->getRepeatedFloat()[1]); - assert(1.6 === $m->getRepeatedDouble()[0]); - assert(2.6 === $m->getRepeatedDouble()[1]); - assert(true === $m->getRepeatedBool()[0]); - assert(false === $m->getRepeatedBool()[1]); - assert(TestEnum::ONE === $m->getRepeatedEnum()[0]); - assert(TestEnum::ZERO === $m->getRepeatedEnum()[1]); - if (PHP_INT_SIZE == 4) { - assert('-43' === $m->getRepeatedInt64()[0]); - assert('-53' === $m->getRepeatedInt64()[1]); - assert('43' === $m->getRepeatedUint64()[0]); - assert('53' === $m->getRepeatedUint64()[1]); - assert('-45' === $m->getRepeatedSint64()[0]); - assert('-55' === $m->getRepeatedSint64()[1]); - assert('47' === $m->getRepeatedFixed64()[0]); - assert('57' === $m->getRepeatedFixed64()[1]); - assert('-47' === $m->getRepeatedSfixed64()[0]); - assert('-57' === $m->getRepeatedSfixed64()[1]); - } else { - assert(-43 === $m->getRepeatedInt64()[0]); - assert(-53 === $m->getRepeatedInt64()[1]); - assert(43 === $m->getRepeatedUint64()[0]); - assert(53 === $m->getRepeatedUint64()[1]); - assert(-45 === $m->getRepeatedSint64()[0]); - assert(-55 === $m->getRepeatedSint64()[1]); - assert(47 === $m->getRepeatedFixed64()[0]); - assert(57 === $m->getRepeatedFixed64()[1]); - assert(-47 === $m->getRepeatedSfixed64()[0]); - assert(-57 === $m->getRepeatedSfixed64()[1]); - } - } - - public static function getGoldenTestPackedMessage() - { - return hex2bin( - "D20514D6FFFFFFFFFFFFFFFF01CCFFFFFFFFFFFFFFFF01" . - "DA0514D5FFFFFFFFFFFFFFFF01CBFFFFFFFFFFFFFFFF01" . - "E205022A34" . - "EA05022B35" . - "F20502576B" . - "FA0502596D" . - "8206082E00000038000000" . - "8A06102F000000000000003900000000000000" . - "920608D2FFFFFFC8FFFFFF" . - "9A0610D1FFFFFFFFFFFFFFC7FFFFFFFFFFFFFF" . - "A206080000C03F00002040" . - "AA06109A9999999999F93FCDCCCCCCCCCC0440" . - "B206020100" . - "BA06020100" - ); - } - - public static function getGoldenTestUnpackedMessage() - { - return hex2bin( - "D005D6FFFFFFFFFFFFFFFF01D005CCFFFFFFFFFFFFFFFF01" . - "D805D5FFFFFFFFFFFFFFFF01D805CBFFFFFFFFFFFFFFFF01" . - "E0052AE00534" . - "E8052BE80535" . - "F00557F0056B" . - "F80559F8056D" . - "85062E000000850638000000" . - "89062F0000000000000089063900000000000000" . - "9506D2FFFFFF9506C8FFFFFF" . - "9906D1FFFFFFFFFFFFFF9906C7FFFFFFFFFFFFFF" . - "A5060000C03FA50600002040" . - "A9069A9999999999F93FA906CDCCCCCCCCCC0440" . - "B00601B00600" . - "B80601B80600" - ); - } -} diff --git a/third_party/protobuf/php/tests/well_known_test.php b/third_party/protobuf/php/tests/well_known_test.php deleted file mode 100644 index 40ff1c8f03..0000000000 --- a/third_party/protobuf/php/tests/well_known_test.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php - -use Google\Protobuf\GPBEmpty; - -class WellKnownTest extends PHPUnit_Framework_TestCase { - - public function testNone() { - $msg = new GPBEmpty(); - } - -} |