From: =?utf-8?q?David_Pr=C3=A9vot?= <taffit@debian.org>
Date: Mon, 6 Mar 2023 08:16:37 +0100
Subject: Drop PHPUnit 10 Updates

Origin: backport, https://github.com/phpseclib/phpseclib/commit/508eaa7197f254d015d75744d552255fcec0ce57
---
 tests/PhpseclibTestCase.php | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/tests/PhpseclibTestCase.php b/tests/PhpseclibTestCase.php
index 8a08949..bcd7a81 100644
--- a/tests/PhpseclibTestCase.php
+++ b/tests/PhpseclibTestCase.php
@@ -105,36 +105,66 @@ abstract class PhpseclibTestCase extends TestCase
     // assertIsArray was not introduced until PHPUnit 8
     public static function assertIsArray($actual, $message = ''): void
     {
+        if (method_exists(parent::class, 'assertIsArray')) {
+            parent::assertIsArray($actual, $message);
+            return;
+        }
+
         parent::assertInternalType('array', $actual, $message);
     }
 
     // assertIsString was not introduced until PHPUnit 8
     public static function assertIsString($actual, $message = ''): void
     {
+        if (method_exists(parent::class, 'assertIsString')) {
+            parent::assertIsString($actual, $message);
+            return;
+        }
+
         parent::assertInternalType('string', $actual, $message);
     }
 
     // assertIsResource was not introduced until PHPUnit 8
     public static function assertIsResource($actual, $message = ''): void
     {
+        if (method_exists(parent::class, 'assertIsResource')) {
+            parent::assertIsResource($actual, $message);
+            return;
+        }
+
         parent::assertInternalType('resource', $actual, $message);
     }
 
     // assertIsObject was not introduced until PHPUnit 8
     public static function assertIsObject($actual, $message = ''): void
     {
+        if (method_exists(parent::class, 'assertIsObject')) {
+            parent::assertIsObject($actual, $message);
+            return;
+        }
+
         parent::assertInternalType('object', $actual, $message);
     }
 
     // assertContains is deprecated for strings in PHPUnit 8
     public static function assertStringContainsString($needle, $haystack, $message = ''): void
     {
+        if (method_exists(parent::class, 'assertStringContainsString')) {
+            parent::assertStringContainsString($needle, $haystack, $message);
+            return;
+        }
+
         parent::assertContains($needle, $haystack, $message);
     }
 
     // assertNotContains is deprecated for strings in PHPUnit 8
     public static function assertStringNotContainsString($needle, $haystack, $message = ''): void
     {
+        if (method_exists(parent::class, 'assertStringContainsString')) {
+            parent::assertStringNotContainsString($needle, $haystack, $message);
+            return;
+        }
+
         parent::assertNotContains($needle, $haystack, $message);
     }
 
@@ -148,6 +178,10 @@ abstract class PhpseclibTestCase extends TestCase
      */
     public static function assertMatchesRegularExpression($pattern, $string, $message = ''): void
     {
-        parent::assertRegExp($pattern, $string, $message);
+        if (method_exists(parent::class, 'assertMatchesRegularExpression')) {
+            parent::assertMatchesRegularExpression($pattern, $string, $message);
+        } else {
+            parent::assertRegExp($pattern, $string, $message);
+        }
     }
 }
