Skip to content

Commit b8c7dff

Browse files
authored
Merge pull request #12 from Codeception/reimplement-property-assertions-removed-from-phpunit10
Reimplement property assertions removed from PHPUnit 10
2 parents 2ea1a35 + cbfb608 commit b8c7dff

File tree

1 file changed

+30
-4
lines changed

1 file changed

+30
-4
lines changed

src/Codeception/Util/Shared/InheritedAsserts.php

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,13 @@ protected function assertArrayNotHasKey($key, $array, string $message = '')
3737
*/
3838
protected function assertClassHasAttribute(string $attributeName, string $className, string $message = '')
3939
{
40-
Assert::assertClassHasAttribute($attributeName, $className, $message);
40+
trigger_error(__FUNCTION__ . ' was removed from PHPUnit since PHPUnit 10', E_USER_DEPRECATED);
41+
42+
if (method_exists(Assert::class, 'assertClassHasAttribute')) {
43+
Assert::assertClassHasAttribute($attributeName, $className, $message);
44+
} else {
45+
Assert::assertTrue(property_exists($className, $attributeName), $message);
46+
}
4147
}
4248

4349
/**
@@ -53,14 +59,22 @@ protected function assertClassHasStaticAttribute(string $attributeName, string $
5359
*/
5460
protected function assertClassNotHasAttribute(string $attributeName, string $className, string $message = '')
5561
{
56-
Assert::assertClassNotHasAttribute($attributeName, $className, $message);
62+
trigger_error(__FUNCTION__ . ' was removed from PHPUnit since PHPUnit 10', E_USER_DEPRECATED);
63+
64+
if (method_exists(Assert::class, 'assertClassNotHasAttribute')) {
65+
Assert::assertClassNotHasAttribute($attributeName, $className, $message);
66+
} else {
67+
Assert::assertFalse(property_exists($className, $attributeName), $message);
68+
}
5769
}
5870

5971
/**
6072
* Asserts that a class does not have a specified static attribute.
6173
*/
6274
protected function assertClassNotHasStaticAttribute(string $attributeName, string $className, string $message = '')
6375
{
76+
trigger_error(__FUNCTION__ . ' was removed from PHPUnit since PHPUnit 10', E_USER_DEPRECATED);
77+
6478
Assert::assertClassNotHasStaticAttribute($attributeName, $className, $message);
6579
}
6680

@@ -908,15 +922,27 @@ protected function assertNull($actual, string $message = '')
908922
*/
909923
protected function assertObjectHasAttribute(string $attributeName, object $object, string $message = '')
910924
{
911-
Assert::assertObjectHasAttribute($attributeName, $object, $message);
925+
trigger_error(__FUNCTION__ . ' was removed from PHPUnit since PHPUnit 10', E_USER_DEPRECATED);
926+
927+
if (method_exists(Assert::class, 'assertObjectHasAttribute')) {
928+
Assert::assertObjectHasAttribute($attributeName, $object, $message);
929+
} else {
930+
Assert::assertTrue(property_exists($object, $attributeName), $message);
931+
}
912932
}
913933

914934
/**
915935
* Asserts that an object does not have a specified attribute.
916936
*/
917937
protected function assertObjectNotHasAttribute(string $attributeName, object $object, string $message = '')
918938
{
919-
Assert::assertObjectNotHasAttribute($attributeName, $object, $message);
939+
trigger_error(__FUNCTION__ . ' was removed from PHPUnit since PHPUnit 10', E_USER_DEPRECATED);
940+
941+
if (method_exists(Assert::class, 'assertObjectNotHasAttribute')) {
942+
Assert::assertObjectNotHasAttribute($attributeName, $object, $message);
943+
} else {
944+
Assert::assertFalse(property_exists($object, $attributeName), $message);
945+
}
920946
}
921947

922948
/**

0 commit comments

Comments
 (0)