Skip to content

Commit cbfb608

Browse files
committed
Reimplement property assertions removed from PHPUnit 10
1 parent df9c834 commit cbfb608

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
@@ -40,7 +40,13 @@ protected function assertArrayNotHasKey($key, $array, string $message = '')
4040
*/
4141
protected function assertClassHasAttribute(string $attributeName, string $className, string $message = '')
4242
{
43-
Assert::assertClassHasAttribute($attributeName, $className, $message);
43+
trigger_error(__FUNCTION__ . ' was removed from PHPUnit since PHPUnit 10', E_USER_DEPRECATED);
44+
45+
if (method_exists(Assert::class, 'assertClassHasAttribute')) {
46+
Assert::assertClassHasAttribute($attributeName, $className, $message);
47+
} else {
48+
Assert::assertTrue(property_exists($className, $attributeName), $message);
49+
}
4450
}
4551

4652
/**
@@ -56,14 +62,22 @@ protected function assertClassHasStaticAttribute(string $attributeName, string $
5662
*/
5763
protected function assertClassNotHasAttribute(string $attributeName, string $className, string $message = '')
5864
{
59-
Assert::assertClassNotHasAttribute($attributeName, $className, $message);
65+
trigger_error(__FUNCTION__ . ' was removed from PHPUnit since PHPUnit 10', E_USER_DEPRECATED);
66+
67+
if (method_exists(Assert::class, 'assertClassNotHasAttribute')) {
68+
Assert::assertClassNotHasAttribute($attributeName, $className, $message);
69+
} else {
70+
Assert::assertFalse(property_exists($className, $attributeName), $message);
71+
}
6072
}
6173

6274
/**
6375
* Asserts that a class does not have a specified static attribute.
6476
*/
6577
protected function assertClassNotHasStaticAttribute(string $attributeName, string $className, string $message = '')
6678
{
79+
trigger_error(__FUNCTION__ . ' was removed from PHPUnit since PHPUnit 10', E_USER_DEPRECATED);
80+
6781
Assert::assertClassNotHasStaticAttribute($attributeName, $className, $message);
6882
}
6983

@@ -911,15 +925,27 @@ protected function assertNull($actual, string $message = '')
911925
*/
912926
protected function assertObjectHasAttribute(string $attributeName, object $object, string $message = '')
913927
{
914-
Assert::assertObjectHasAttribute($attributeName, $object, $message);
928+
trigger_error(__FUNCTION__ . ' was removed from PHPUnit since PHPUnit 10', E_USER_DEPRECATED);
929+
930+
if (method_exists(Assert::class, 'assertObjectHasAttribute')) {
931+
Assert::assertObjectHasAttribute($attributeName, $object, $message);
932+
} else {
933+
Assert::assertTrue(property_exists($object, $attributeName), $message);
934+
}
915935
}
916936

917937
/**
918938
* Asserts that an object does not have a specified attribute.
919939
*/
920940
protected function assertObjectNotHasAttribute(string $attributeName, object $object, string $message = '')
921941
{
922-
Assert::assertObjectNotHasAttribute($attributeName, $object, $message);
942+
trigger_error(__FUNCTION__ . ' was removed from PHPUnit since PHPUnit 10', E_USER_DEPRECATED);
943+
944+
if (method_exists(Assert::class, 'assertObjectNotHasAttribute')) {
945+
Assert::assertObjectNotHasAttribute($attributeName, $object, $message);
946+
} else {
947+
Assert::assertFalse(property_exists($object, $attributeName), $message);
948+
}
923949
}
924950

925951
/**

0 commit comments

Comments
 (0)