aboutsummaryrefslogtreecommitdiff
path: root/php/tests/map_field_test.php
diff options
context:
space:
mode:
Diffstat (limited to 'php/tests/map_field_test.php')
-rw-r--r--php/tests/map_field_test.php325
1 files changed, 57 insertions, 268 deletions
diff --git a/php/tests/map_field_test.php b/php/tests/map_field_test.php
index d4ec44fc..447bdd9b 100644
--- a/php/tests/map_field_test.php
+++ b/php/tests/map_field_test.php
@@ -5,7 +5,7 @@ require_once('test_util.php');
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\MapField;
use Foo\TestMessage;
-use Foo\TestMessage_Sub;
+use Foo\TestMessage\Sub;
class MapFieldTest extends PHPUnit_Framework_TestCase {
@@ -56,42 +56,23 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
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()
- {
+ // Test foreach.
$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();
+ for ($i = 0; $i < 3; $i++) {
+ $arr[$i] = $i;
+ }
+ $i = 0;
+ $arr_test = [];
+ foreach ($arr as $key => $val) {
+ $this->assertSame($key, $val);
+ $arr_test[] = $key;
+ $i++;
+ }
+ $this->assertTrue(isset($arr_test[0]));
+ $this->assertTrue(isset($arr_test[1]));
+ $this->assertTrue(isset($arr_test[2]));
+ $this->assertSame(3, $i);
}
#########################################################
@@ -159,42 +140,6 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
$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.
#########################################################
@@ -252,42 +197,6 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
$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.
#########################################################
@@ -339,42 +248,6 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
$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.
#########################################################
@@ -397,24 +270,6 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
$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.
#########################################################
@@ -437,24 +292,6 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
$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.
#########################################################
@@ -515,24 +352,6 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
$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.
#########################################################
@@ -564,42 +383,23 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
$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()
- {
+ // Test foreach.
$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();
+ for ($i = 0; $i < 3; $i++) {
+ $arr[$i] = $i;
+ }
+ $i = 0;
+ $arr_test = [];
+ foreach ($arr as $key => $val) {
+ $this->assertSame($key, $val);
+ $arr_test[] = $key;
+ $i++;
+ }
+ $this->assertTrue(isset($arr_test['0']));
+ $this->assertTrue(isset($arr_test['1']));
+ $this->assertTrue(isset($arr_test['2']));
+ $this->assertSame(3, $i);
}
#########################################################
@@ -608,49 +408,38 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
public function testMessage() {
$arr = new MapField(GPBType::INT32,
- GPBType::MESSAGE, TestMessage_Sub::class);
+ GPBType::MESSAGE, Sub::class);
// Test append.
- $sub_m = new TestMessage_Sub();
+ $sub_m = new 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';
- }
+ $this->assertEquals(1, count($arr));
- /**
- * @expectedException PHPUnit_Framework_Error
- */
- public function testMessageSetOtherMessageValueFail()
- {
- $arr =
- new MapField(GPBType::INT32, GPBType::MESSAGE, TestMessage::class);
- $arr[0] = new TestMessage_Sub();
+ // Test foreach.
+ $arr = new MapField(GPBType::INT32,
+ GPBType::MESSAGE, Sub::class);
+ for ($i = 0; $i < 3; $i++) {
+ $arr[$i] = new Sub();;
+ $arr[$i]->setA($i);
+ }
+ $i = 0;
+ $key_test = [];
+ $value_test = [];
+ foreach ($arr as $key => $val) {
+ $key_test[] = $key;
+ $value_test[] = $val->getA();
+ $i++;
+ }
+ $this->assertTrue(isset($key_test['0']));
+ $this->assertTrue(isset($key_test['1']));
+ $this->assertTrue(isset($key_test['2']));
+ $this->assertTrue(isset($value_test['0']));
+ $this->assertTrue(isset($value_test['1']));
+ $this->assertTrue(isset($value_test['2']));
+ $this->assertSame(3, $i);
}
#########################################################
@@ -662,7 +451,7 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
// {
// $arr = new MapField(GPBType::INT32,
// GPBType::MESSAGE, TestMessage::class);
- // $arr [0]= new TestMessage;
+ // $arr[0] = new TestMessage;
// $arr[0]->SetMapRecursive($arr);
// // Clean up memory before test.