Port for php8 (#8105)
* Port for php8
* Port php c extension for php8
* Update composer.json
* Drop php7.0 support
* Update phpunit for php7.1 in c extension test
* Add back support for php7.0
* Add badge for php8 continuous build
diff --git a/php/tests/GeneratedClassTest.php b/php/tests/GeneratedClassTest.php
index 037bd1b..f3f74d1 100644
--- a/php/tests/GeneratedClassTest.php
+++ b/php/tests/GeneratedClassTest.php
@@ -260,21 +260,21 @@
$this->assertEquals(1, TestEnum::value('ONE'));
}
- /**
- * @expectedException UnexpectedValueException
- * @expectedExceptionMessage Enum Foo\TestEnum has no name defined for value -1
- */
public function testInvalidEnumValueThrowsException()
{
+ $this->expectException(UnexpectedValueException::class);
+ $this->expectExceptionMessage(
+ 'Enum Foo\TestEnum has no name defined for value -1');
+
TestEnum::name(-1);
}
- /**
- * @expectedException UnexpectedValueException
- * @expectedExceptionMessage Enum Foo\TestEnum has no value defined for name DOES_NOT_EXIST
- */
public function testInvalidEnumNameThrowsException()
{
+ $this->expectException(UnexpectedValueException::class);
+ $this->expectExceptionMessage(
+ 'Enum Foo\TestEnum has no value defined for name DOES_NOT_EXIST');
+
TestEnum::value('DOES_NOT_EXIST');
}
@@ -313,17 +313,17 @@
// Set integer.
$m->setOptionalFloat(1);
- $this->assertEquals(1.0, $m->getOptionalFloat(), '', MAX_FLOAT_DIFF);
+ $this->assertFloatEquals(1.0, $m->getOptionalFloat(), MAX_FLOAT_DIFF);
// Set float.
$m->setOptionalFloat(1.1);
- $this->assertEquals(1.1, $m->getOptionalFloat(), '', MAX_FLOAT_DIFF);
+ $this->assertFloatEquals(1.1, $m->getOptionalFloat(), MAX_FLOAT_DIFF);
// Set string.
$m->setOptionalFloat('2');
- $this->assertEquals(2.0, $m->getOptionalFloat(), '', MAX_FLOAT_DIFF);
+ $this->assertFloatEquals(2.0, $m->getOptionalFloat(), MAX_FLOAT_DIFF);
$m->setOptionalFloat('3.1');
- $this->assertEquals(3.1, $m->getOptionalFloat(), '', MAX_FLOAT_DIFF);
+ $this->assertFloatEquals(3.1, $m->getOptionalFloat(), MAX_FLOAT_DIFF);
}
#########################################################
@@ -336,17 +336,17 @@
// Set integer.
$m->setOptionalDouble(1);
- $this->assertEquals(1.0, $m->getOptionalDouble(), '', MAX_FLOAT_DIFF);
+ $this->assertFloatEquals(1.0, $m->getOptionalDouble(), MAX_FLOAT_DIFF);
// Set float.
$m->setOptionalDouble(1.1);
- $this->assertEquals(1.1, $m->getOptionalDouble(), '', MAX_FLOAT_DIFF);
+ $this->assertFloatEquals(1.1, $m->getOptionalDouble(), MAX_FLOAT_DIFF);
// Set string.
$m->setOptionalDouble('2');
- $this->assertEquals(2.0, $m->getOptionalDouble(), '', MAX_FLOAT_DIFF);
+ $this->assertFloatEquals(2.0, $m->getOptionalDouble(), MAX_FLOAT_DIFF);
$m->setOptionalDouble('3.1');
- $this->assertEquals(3.1, $m->getOptionalDouble(), '', MAX_FLOAT_DIFF);
+ $this->assertFloatEquals(3.1, $m->getOptionalDouble(), MAX_FLOAT_DIFF);
}
#########################################################
@@ -1467,6 +1467,8 @@
}
$key = new TestMessage($key);
}
+
+ $this->assertTrue(true);
}
public function testOneofMessageInArrayConstructor()
@@ -1476,6 +1478,8 @@
]);
$this->assertSame('oneof_message', $m->getMyOneof());
$this->assertNotNull($m->getOneofMessage());
+
+ $this->assertTrue(true);
}
public function testOneofStringInArrayConstructor()
@@ -1483,6 +1487,8 @@
$m = new TestMessage([
'oneof_string' => 'abc',
]);
+
+ $this->assertTrue(true);
}
#########################################################
@@ -1527,6 +1533,8 @@
array_walk($values, function (&$value) {});
$m = new TestMessage();
$m->setOptionalString($values[0]);
+
+ $this->assertTrue(true);
}
#########################################################
@@ -1697,11 +1705,10 @@
throw new Exception('Intended');
}
- /**
- * @expectedException Exception
- */
public function testNoSegfaultWithError()
{
+ $this->expectException(Exception::class);
+
new TestMessage(['optional_int32' => $this->throwIntendedException()]);
}
@@ -1724,5 +1731,7 @@
* The value we are passing to var_dump() appears to be corrupt somehow.
*/
/* var_dump($m); */
+
+ $this->assertTrue(true);
}
}