diff --git a/phpcs.xml.dist b/phpcs.xml.dist
index a1f1255d57..a5b2efb9e8 100644
--- a/phpcs.xml.dist
+++ b/phpcs.xml.dist
@@ -134,8 +134,6 @@
/src/wp-includes/sodium_compat/*
/src/wp-includes/Text/*
- /tests/phpunit/includes/phpunit7/MockObject/*
-
/tests/phpunit/build*
/tests/phpunit/data/*
diff --git a/tests/phpunit/includes/bootstrap.php b/tests/phpunit/includes/bootstrap.php
index fed800ef3c..0af29cc287 100644
--- a/tests/phpunit/includes/bootstrap.php
+++ b/tests/phpunit/includes/bootstrap.php
@@ -46,10 +46,6 @@ if ( version_compare( $phpunit_version, '5.7.21', '<' ) ) {
exit( 1 );
}
-// Register a custom autoloader for the PHPUnit 9.x Mockobject classes for compatibility with PHP 8.0.
-require_once __DIR__ . '/class-mockobject-autoload.php';
-spl_autoload_register( 'MockObject_Autoload::load', true, true );
-
// Check that the PHPUnit Polyfills autoloader exists.
$phpunit_polyfills_autoloader = __DIR__ . '/../../../vendor/yoast/phpunit-polyfills/phpunitpolyfills-autoload.php';
if ( ! file_exists( $phpunit_polyfills_autoloader ) ) {
diff --git a/tests/phpunit/includes/class-mockobject-autoload.php b/tests/phpunit/includes/class-mockobject-autoload.php
deleted file mode 100644
index b8f46e8a2e..0000000000
--- a/tests/phpunit/includes/class-mockobject-autoload.php
+++ /dev/null
@@ -1,63 +0,0 @@
- true
- */
- private static $supported_classes = array(
- 'PHPUnit\Framework\MockObject\Builder\NamespaceMatch' => '/phpunit7/MockObject/Builder/NamespaceMatch.php',
- 'PHPUnit\Framework\MockObject\Builder\ParametersMatch' => '/phpunit7/MockObject/Builder/ParametersMatch.php',
- 'PHPUnit\Framework\MockObject\InvocationMocker' => '/phpunit7/MockObject/InvocationMocker.php',
- 'PHPUnit\Framework\MockObject\MockMethod' => '/phpunit7/MockObject/MockMethod.php',
- );
-
- /**
- * Loads a class.
- *
- * @param string $class_name The name of the class to load.
- * @return bool
- */
- public static function load( $class_name ) {
-
- if ( isset( self::$supported_classes[ $class_name ] ) === false ) {
- // Bow out, not a class this autoloader handles.
- return false;
- }
-
- if ( PHP_VERSION_ID < 80000 ) {
- // This autoloader is only needed when the tests are being run on PHP >= 8.0.
- // Let the standard Composer autoloader handle things otherwise.
- return false;
- }
-
- if ( class_exists( 'PHPUnit\Runner\Version' ) === false // PHPUnit < 6.0.
- || ( version_compare( \PHPUnit\Runner\Version::id(), '7.0.0', '<' )
- && version_compare( \PHPUnit\Runner\Version::id(), '8.0.0', '>=' ) )
- ) {
- // This autoloader is only needed when the tests are being run on PHPUnit 7.
- return false;
- }
-
- $relative_path = self::$supported_classes[ $class_name ];
- $file = \realpath( __DIR__ . $relative_path );
-
- if ( false === $file || @\file_exists( $file ) === false ) {
- return false;
- }
-
- require_once $file;
- return true;
- }
-}
diff --git a/tests/phpunit/includes/phpunit7/MockObject/Builder/NamespaceMatch.php b/tests/phpunit/includes/phpunit7/MockObject/Builder/NamespaceMatch.php
deleted file mode 100644
index 99f21e745a..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/Builder/NamespaceMatch.php
+++ /dev/null
@@ -1,43 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace PHPUnit\Framework\MockObject\Builder;
-
-/**
- * Interface for builders which can register builders with a given identification.
- *
- * This interface relates to Identity.
- */
-interface NamespaceMatch
-{
- /**
- * Looks up the match builder with identification $id and returns it.
- *
- * @param string $id The identification of the match builder
- *
- * @return Match
- */
- public function lookupId($id);
-
- /**
- * Registers the match builder $builder with the identification $id. The
- * builder can later be looked up using lookupId() to figure out if it
- * has been invoked.
- *
- * @param string $id The identification of the match builder
- * @param Match $builder The builder which is being registered
- */
- public function registerId($id, ParametersMatch $builder);
-}
diff --git a/tests/phpunit/includes/phpunit7/MockObject/Builder/ParametersMatch.php b/tests/phpunit/includes/phpunit7/MockObject/Builder/ParametersMatch.php
deleted file mode 100644
index 327557541b..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/Builder/ParametersMatch.php
+++ /dev/null
@@ -1,66 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace PHPUnit\Framework\MockObject\Builder;
-
-use PHPUnit\Framework\MockObject\Matcher\AnyParameters;
-
-/**
- * Builder interface for parameter matchers.
- */
-interface ParametersMatch extends Stub
-{
- /**
- * Defines the expectation which must occur before the current is valid.
- *
- * @param string $id the identification of the expectation that should
- * occur before this one
- *
- * @return Stub
- */
- public function after($id);
-
- /**
- * Sets the parameters to match for, each parameter to this function will
- * be part of match. To perform specific matches or constraints create a
- * new PHPUnit\Framework\Constraint\Constraint and use it for the parameter.
- * If the parameter value is not a constraint it will use the
- * PHPUnit\Framework\Constraint\IsEqual for the value.
- *
- * Some examples:
- *
- * // match first parameter with value 2
- * $b->with(2);
- * // match first parameter with value 'smock' and second identical to 42
- * $b->with('smock', new PHPUnit\Framework\Constraint\IsEqual(42));
- *
- *
- * @return ParametersMatch
- */
- public function with(...$arguments);
-
- /**
- * Sets a matcher which allows any kind of parameters.
- *
- * Some examples:
- *
- * // match any number of parameters
- * $b->withAnyParameters();
- *
- *
- * @return AnyParameters
- */
- public function withAnyParameters();
-}
diff --git a/tests/phpunit/includes/phpunit7/MockObject/Generator/deprecation.tpl.dist b/tests/phpunit/includes/phpunit7/MockObject/Generator/deprecation.tpl.dist
deleted file mode 100644
index 5bf06f52de..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/Generator/deprecation.tpl.dist
+++ /dev/null
@@ -1,2 +0,0 @@
-
- @trigger_error({deprecation}, E_USER_DEPRECATED);
diff --git a/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_class.tpl.dist b/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_class.tpl.dist
deleted file mode 100644
index 4b68a2b2b6..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_class.tpl.dist
+++ /dev/null
@@ -1,46 +0,0 @@
-{prologue}{class_declaration}
-{
- private $__phpunit_invocationMocker;
- private $__phpunit_originalObject;
- private $__phpunit_configurable = {configurable};
- private $__phpunit_returnValueGeneration = true;
-
-{clone}{mocked_methods}
- public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
- {
- return $this->__phpunit_getInvocationMocker()->expects($matcher);
- }
-{method}
- public function __phpunit_setOriginalObject($originalObject)
- {
- $this->__phpunit_originalObject = $originalObject;
- }
-
- public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration)
- {
- $this->__phpunit_returnValueGeneration = $returnValueGeneration;
- }
-
- public function __phpunit_getInvocationMocker()
- {
- if ($this->__phpunit_invocationMocker === null) {
- $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration);
- }
-
- return $this->__phpunit_invocationMocker;
- }
-
- public function __phpunit_hasMatchers()
- {
- return $this->__phpunit_getInvocationMocker()->hasMatchers();
- }
-
- public function __phpunit_verify(bool $unsetInvocationMocker = true)
- {
- $this->__phpunit_getInvocationMocker()->verify();
-
- if ($unsetInvocationMocker) {
- $this->__phpunit_invocationMocker = null;
- }
- }
-}{epilogue}
diff --git a/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_class_method.tpl.dist b/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_class_method.tpl.dist
deleted file mode 100644
index d6a036f4ce..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_class_method.tpl.dist
+++ /dev/null
@@ -1,8 +0,0 @@
-
- public function method()
- {
- $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
- $expects = $this->expects($any);
-
- return call_user_func_array([$expects, 'method'], func_get_args());
- }
diff --git a/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_clone.tpl.dist b/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_clone.tpl.dist
deleted file mode 100644
index bd846dee76..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_clone.tpl.dist
+++ /dev/null
@@ -1,4 +0,0 @@
- public function __clone()
- {
- $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
- }
diff --git a/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_method.tpl.dist b/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_method.tpl.dist
deleted file mode 100644
index 3adf2f0269..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_method.tpl.dist
+++ /dev/null
@@ -1,22 +0,0 @@
-
- {modifier} function {reference}{method_name}({arguments_decl}){return_delim}{return_type}
- {{deprecation}
- $__phpunit_arguments = [{arguments_call}];
- $__phpunit_count = func_num_args();
-
- if ($__phpunit_count > {arguments_count}) {
- $__phpunit_arguments_tmp = func_get_args();
-
- for ($__phpunit_i = {arguments_count}; $__phpunit_i < $__phpunit_count; $__phpunit_i++) {
- $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i];
- }
- }
-
- $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke(
- new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
- '{class_name}', '{method_name}', $__phpunit_arguments, '{return_type}', $this, {clone_arguments}
- )
- );
-
- return $__phpunit_result;
- }
diff --git a/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_method_void.tpl.dist b/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_method_void.tpl.dist
deleted file mode 100644
index 3813fe4b9d..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_method_void.tpl.dist
+++ /dev/null
@@ -1,20 +0,0 @@
-
- {modifier} function {reference}{method_name}({arguments_decl}){return_delim}{return_type}
- {{deprecation}
- $__phpunit_arguments = [{arguments_call}];
- $__phpunit_count = func_num_args();
-
- if ($__phpunit_count > {arguments_count}) {
- $__phpunit_arguments_tmp = func_get_args();
-
- for ($__phpunit_i = {arguments_count}; $__phpunit_i < $__phpunit_count; $__phpunit_i++) {
- $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i];
- }
- }
-
- $this->__phpunit_getInvocationMocker()->invoke(
- new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
- '{class_name}', '{method_name}', $__phpunit_arguments, '{return_type}', $this, {clone_arguments}
- )
- );
- }
diff --git a/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_static_method.tpl.dist b/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_static_method.tpl.dist
deleted file mode 100644
index 56b561b65f..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/Generator/mocked_static_method.tpl.dist
+++ /dev/null
@@ -1,5 +0,0 @@
-
- {modifier} function {reference}{method_name}({arguments_decl}){return_delim}{return_type}
- {
- throw new \PHPUnit\Framework\MockObject\BadMethodCallException('Static method "{method_name}" cannot be invoked on mock object');
- }
diff --git a/tests/phpunit/includes/phpunit7/MockObject/Generator/proxied_method.tpl.dist b/tests/phpunit/includes/phpunit7/MockObject/Generator/proxied_method.tpl.dist
deleted file mode 100644
index 4dd87cd725..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/Generator/proxied_method.tpl.dist
+++ /dev/null
@@ -1,26 +0,0 @@
-
- {modifier} function {reference}{method_name}({arguments_decl}){return_delim}{return_type}
- {
- $__phpunit_arguments = [{arguments_call}];
- $__phpunit_count = func_num_args();
-
- if ($__phpunit_count > {arguments_count}) {
- $__phpunit_arguments_tmp = func_get_args();
-
- for ($__phpunit_i = {arguments_count}; $__phpunit_i < $__phpunit_count; $__phpunit_i++) {
- $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i];
- }
- }
-
- $__phpunit_invocation = new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
- '{class_name}', '{method_name}', $__phpunit_arguments, '{return_type}', $this, {clone_arguments}
- );
-
- $__phpunit_invocation->setProxiedCall();
-
- $this->__phpunit_getInvocationMocker()->invoke($__phpunit_invocation);
-
- unset($__phpunit_invocation);
-
- return call_user_func_array(array($this->__phpunit_originalObject, "{method_name}"), $__phpunit_arguments);
- }
diff --git a/tests/phpunit/includes/phpunit7/MockObject/Generator/proxied_method_void.tpl.dist b/tests/phpunit/includes/phpunit7/MockObject/Generator/proxied_method_void.tpl.dist
deleted file mode 100644
index 0d868f2527..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/Generator/proxied_method_void.tpl.dist
+++ /dev/null
@@ -1,26 +0,0 @@
-
- {modifier} function {reference}{method_name}({arguments_decl}){return_delim}{return_type}
- {
- $__phpunit_arguments = [{arguments_call}];
- $__phpunit_count = func_num_args();
-
- if ($__phpunit_count > {arguments_count}) {
- $__phpunit_arguments_tmp = func_get_args();
-
- for ($__phpunit_i = {arguments_count}; $__phpunit_i < $__phpunit_count; $__phpunit_i++) {
- $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i];
- }
- }
-
- $__phpunit_invocation = new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
- '{class_name}', '{method_name}', $__phpunit_arguments, '{return_type}', $this, {clone_arguments}
- );
-
- $__phpunit_invocation->setProxiedCall();
-
- $this->__phpunit_getInvocationMocker()->invoke($__phpunit_invocation);
-
- unset($__phpunit_invocation);
-
- call_user_func_array(array($this->__phpunit_originalObject, "{method_name}"), $__phpunit_arguments);
- }
diff --git a/tests/phpunit/includes/phpunit7/MockObject/Generator/trait_class.tpl.dist b/tests/phpunit/includes/phpunit7/MockObject/Generator/trait_class.tpl.dist
deleted file mode 100644
index 4143b0f66a..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/Generator/trait_class.tpl.dist
+++ /dev/null
@@ -1,4 +0,0 @@
-{prologue}class {class_name}
-{
- use {trait_name};
-}
diff --git a/tests/phpunit/includes/phpunit7/MockObject/Generator/unmocked_clone.tpl.dist b/tests/phpunit/includes/phpunit7/MockObject/Generator/unmocked_clone.tpl.dist
deleted file mode 100644
index fa0e70abc2..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/Generator/unmocked_clone.tpl.dist
+++ /dev/null
@@ -1,5 +0,0 @@
- public function __clone()
- {
- $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
- parent::__clone();
- }
diff --git a/tests/phpunit/includes/phpunit7/MockObject/Generator/wsdl_class.tpl.dist b/tests/phpunit/includes/phpunit7/MockObject/Generator/wsdl_class.tpl.dist
deleted file mode 100644
index cc69fd341c..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/Generator/wsdl_class.tpl.dist
+++ /dev/null
@@ -1,7 +0,0 @@
-{namespace}class {class_name} extends \SoapClient
-{
- public function __construct($wsdl, array $options)
- {
- parent::__construct('{wsdl}', $options);
- }
-{methods}}
diff --git a/tests/phpunit/includes/phpunit7/MockObject/Generator/wsdl_method.tpl.dist b/tests/phpunit/includes/phpunit7/MockObject/Generator/wsdl_method.tpl.dist
deleted file mode 100644
index bb16e763eb..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/Generator/wsdl_method.tpl.dist
+++ /dev/null
@@ -1,4 +0,0 @@
-
- public function {method_name}({arguments})
- {
- }
diff --git a/tests/phpunit/includes/phpunit7/MockObject/InvocationMocker.php b/tests/phpunit/includes/phpunit7/MockObject/InvocationMocker.php
deleted file mode 100644
index 3a3881e976..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/InvocationMocker.php
+++ /dev/null
@@ -1,192 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace PHPUnit\Framework\MockObject;
-
-use Exception;
-use PHPUnit\Framework\ExpectationFailedException;
-use PHPUnit\Framework\MockObject\Builder\InvocationMocker as BuilderInvocationMocker;
-use PHPUnit\Framework\MockObject\Builder\ParametersMatch;
-use PHPUnit\Framework\MockObject\Builder\NamespaceMatch;
-use PHPUnit\Framework\MockObject\Matcher\DeferredError;
-use PHPUnit\Framework\MockObject\Matcher\Invocation as MatcherInvocation;
-use PHPUnit\Framework\MockObject\Stub\MatcherCollection;
-
-/**
- * Mocker for invocations which are sent from
- * MockObject objects.
- *
- * Keeps track of all expectations and stubs as well as registering
- * identifications for builders.
- */
-class InvocationMocker implements Invokable, MatcherCollection, NamespaceMatch
-{
- /**
- * @var MatcherInvocation[]
- */
- private $matchers = [];
-
- /**
- * @var Match[]
- */
- private $builderMap = [];
-
- /**
- * @var string[]
- */
- private $configurableMethods;
-
- /**
- * @var bool
- */
- private $returnValueGeneration;
-
- public function __construct(array $configurableMethods, bool $returnValueGeneration)
- {
- $this->configurableMethods = $configurableMethods;
- $this->returnValueGeneration = $returnValueGeneration;
- }
-
- public function addMatcher(MatcherInvocation $matcher): void
- {
- $this->matchers[] = $matcher;
- }
-
- public function hasMatchers()
- {
- foreach ($this->matchers as $matcher) {
- if ($matcher->hasMatchers()) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * @return null|bool
- */
- public function lookupId($id)
- {
- if (isset($this->builderMap[$id])) {
- return $this->builderMap[$id];
- }
- }
-
- /**
- * @throws RuntimeException
- */
- public function registerId($id, ParametersMatch $builder): void
- {
- if (isset($this->builderMap[$id])) {
- throw new RuntimeException(
- 'Match builder with id <' . $id . '> is already registered.'
- );
- }
-
- $this->builderMap[$id] = $builder;
- }
-
- /**
- * @return BuilderInvocationMocker
- */
- public function expects(MatcherInvocation $matcher)
- {
- return new BuilderInvocationMocker(
- $this,
- $matcher,
- $this->configurableMethods
- );
- }
-
- /**
- * @throws Exception
- */
- public function invoke(Invocation $invocation)
- {
- $exception = null;
- $hasReturnValue = false;
- $returnValue = null;
-
- foreach ($this->matchers as $match) {
- try {
- if ($match->matches($invocation)) {
- $value = $match->invoked($invocation);
-
- if (!$hasReturnValue) {
- $returnValue = $value;
- $hasReturnValue = true;
- }
- }
- } catch (Exception $e) {
- $exception = $e;
- }
- }
-
- if ($exception !== null) {
- throw $exception;
- }
-
- if ($hasReturnValue) {
- return $returnValue;
- }
-
- if ($this->returnValueGeneration === false) {
- $exception = new ExpectationFailedException(
- \sprintf(
- 'Return value inference disabled and no expectation set up for %s::%s()',
- $invocation->getClassName(),
- $invocation->getMethodName()
- )
- );
-
- if (\strtolower($invocation->getMethodName()) === '__tostring') {
- $this->addMatcher(new DeferredError($exception));
-
- return '';
- }
-
- throw $exception;
- }
-
- return $invocation->generateReturnValue();
- }
-
- /**
- * @return bool
- */
- public function matches(Invocation $invocation)
- {
- foreach ($this->matchers as $matcher) {
- if (!$matcher->matches($invocation)) {
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * @throws \PHPUnit\Framework\ExpectationFailedException
- *
- * @return bool
- */
- public function verify()
- {
- foreach ($this->matchers as $matcher) {
- $matcher->verify();
- }
- }
-}
diff --git a/tests/phpunit/includes/phpunit7/MockObject/LICENSE b/tests/phpunit/includes/phpunit7/MockObject/LICENSE
deleted file mode 100644
index 46fabcbdf9..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/LICENSE
+++ /dev/null
@@ -1,33 +0,0 @@
-PHPUnit
-
-Copyright (c) 2001-2019, Sebastian Bergmann .
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
diff --git a/tests/phpunit/includes/phpunit7/MockObject/MockMethod.php b/tests/phpunit/includes/phpunit7/MockObject/MockMethod.php
deleted file mode 100644
index 6e08753f42..0000000000
--- a/tests/phpunit/includes/phpunit7/MockObject/MockMethod.php
+++ /dev/null
@@ -1,363 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace PHPUnit\Framework\MockObject;
-
-use ReflectionClass;
-use ReflectionException;
-use ReflectionMethod;
-use Text_Template;
-
-final class MockMethod
-{
- /**
- * @var Text_Template[]
- */
- private static $templates = [];
-
- /**
- * @var string
- */
- private $className;
-
- /**
- * @var string
- */
- private $methodName;
-
- /**
- * @var bool
- */
- private $cloneArguments;
-
- /**
- * @var string string
- */
- private $modifier;
-
- /**
- * @var string
- */
- private $argumentsForDeclaration;
-
- /**
- * @var string
- */
- private $argumentsForCall;
-
- /**
- * @var string
- */
- private $returnType;
-
- /**
- * @var string
- */
- private $reference;
-
- /**
- * @var bool
- */
- private $callOriginalMethod;
-
- /**
- * @var bool
- */
- private $static;
-
- /**
- * @var ?string
- */
- private $deprecation;
-
- /**
- * @var bool
- */
- private $allowsReturnNull;
-
- public static function fromReflection(ReflectionMethod $method, bool $callOriginalMethod, bool $cloneArguments): self
- {
- if ($method->isPrivate()) {
- $modifier = 'private';
- } elseif ($method->isProtected()) {
- $modifier = 'protected';
- } else {
- $modifier = 'public';
- }
-
- if ($method->isStatic()) {
- $modifier .= ' static';
- }
-
- if ($method->returnsReference()) {
- $reference = '&';
- } else {
- $reference = '';
- }
-
- if ($method->hasReturnType()) {
- $returnType = $method->getReturnType()->getName();
- } else {
- $returnType = '';
- }
-
- $docComment = $method->getDocComment();
-
- if (\is_string($docComment)
- && \preg_match('#\*[ \t]*+@deprecated[ \t]*+(.*?)\r?+\n[ \t]*+\*(?:[ \t]*+@|/$)#s', $docComment, $deprecation)
- ) {
- $deprecation = \trim(\preg_replace('#[ \t]*\r?\n[ \t]*+\*[ \t]*+#', ' ', $deprecation[1]));
- } else {
- $deprecation = null;
- }
-
- return new self(
- $method->getDeclaringClass()->getName(),
- $method->getName(),
- $cloneArguments,
- $modifier,
- self::getMethodParameters($method),
- self::getMethodParameters($method, true),
- $returnType,
- $reference,
- $callOriginalMethod,
- $method->isStatic(),
- $deprecation,
- $method->hasReturnType() && $method->getReturnType()->allowsNull()
- );
- }
-
- public static function fromName(string $fullClassName, string $methodName, bool $cloneArguments): self
- {
- return new self(
- $fullClassName,
- $methodName,
- $cloneArguments,
- 'public',
- '',
- '',
- '',
- '',
- false,
- false,
- null,
- false
- );
- }
-
- public function __construct(string $className, string $methodName, bool $cloneArguments, string $modifier, string $argumentsForDeclaration, string $argumentsForCall, string $returnType, string $reference, bool $callOriginalMethod, bool $static, ?string $deprecation, bool $allowsReturnNull)
- {
- $this->className = $className;
- $this->methodName = $methodName;
- $this->cloneArguments = $cloneArguments;
- $this->modifier = $modifier;
- $this->argumentsForDeclaration = $argumentsForDeclaration;
- $this->argumentsForCall = $argumentsForCall;
- $this->returnType = $returnType;
- $this->reference = $reference;
- $this->callOriginalMethod = $callOriginalMethod;
- $this->static = $static;
- $this->deprecation = $deprecation;
- $this->allowsReturnNull = $allowsReturnNull;
- }
-
- public function getName(): string
- {
- return $this->methodName;
- }
-
- /**
- * @throws \ReflectionException
- * @throws \PHPUnit\Framework\MockObject\RuntimeException
- * @throws \InvalidArgumentException
- */
- public function generateCode(): string
- {
- if ($this->static) {
- $templateFile = 'mocked_static_method.tpl';
- } elseif ($this->returnType === 'void') {
- $templateFile = \sprintf(
- '%s_method_void.tpl',
- $this->callOriginalMethod ? 'proxied' : 'mocked'
- );
- } else {
- $templateFile = \sprintf(
- '%s_method.tpl',
- $this->callOriginalMethod ? 'proxied' : 'mocked'
- );
- }
-
- $returnType = $this->returnType;
- // @see https://bugs.php.net/bug.php?id=70722
- if ($returnType === 'self') {
- $returnType = $this->className;
- }
-
- // @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/406
- if ($returnType === 'parent') {
- $reflector = new ReflectionClass($this->className);
-
- $parentClass = $reflector->getParentClass();
-
- if ($parentClass === false) {
- throw new RuntimeException(
- \sprintf(
- 'Cannot mock %s::%s because "parent" return type declaration is used but %s does not have a parent class',
- $this->className,
- $this->methodName,
- $this->className
- )
- );
- }
-
- $returnType = $parentClass->getName();
- }
-
- $deprecation = $this->deprecation;
-
- if (null !== $this->deprecation) {
- $deprecation = "The $this->className::$this->methodName method is deprecated ($this->deprecation).";
- $deprecationTemplate = $this->getTemplate('deprecation.tpl');
-
- $deprecationTemplate->setVar([
- 'deprecation' => \var_export($deprecation, true),
- ]);
-
- $deprecation = $deprecationTemplate->render();
- }
-
- $template = $this->getTemplate($templateFile);
-
- $template->setVar(
- [
- 'arguments_decl' => $this->argumentsForDeclaration,
- 'arguments_call' => $this->argumentsForCall,
- 'return_delim' => $returnType ? ': ' : '',
- 'return_type' => $this->allowsReturnNull ? '?' . $returnType : $returnType,
- 'arguments_count' => !empty($this->argumentsForCall) ? \substr_count($this->argumentsForCall, ',') + 1 : 0,
- 'class_name' => $this->className,
- 'method_name' => $this->methodName,
- 'modifier' => $this->modifier,
- 'reference' => $this->reference,
- 'clone_arguments' => $this->cloneArguments ? 'true' : 'false',
- 'deprecation' => $deprecation,
- ]
- );
-
- return $template->render();
- }
-
- private function getTemplate(string $template): Text_Template
- {
- $filename = __DIR__ . \DIRECTORY_SEPARATOR . 'Generator' . \DIRECTORY_SEPARATOR . $template;
-
- if (!isset(self::$templates[$filename])) {
- self::$templates[$filename] = new Text_Template($filename);
- }
-
- return self::$templates[$filename];
- }
-
- /**
- * Returns the parameters of a function or method.
- *
- * @throws RuntimeException
- */
- private static function getMethodParameters(ReflectionMethod $method, bool $forCall = false): string
- {
- $parameters = [];
-
- foreach ($method->getParameters() as $i => $parameter) {
- $name = '$' . $parameter->getName();
-
- /* Note: PHP extensions may use empty names for reference arguments
- * or "..." for methods taking a variable number of arguments.
- */
- if ($name === '$' || $name === '$...') {
- $name = '$arg' . $i;
- }
-
- if ($parameter->isVariadic()) {
- if ($forCall) {
- continue;
- }
-
- $name = '...' . $name;
- }
-
- $nullable = '';
- $default = '';
- $reference = '';
- $typeDeclaration = '';
-
- if (!$forCall) {
- if ($parameter->hasType() && $parameter->allowsNull()) {
- $nullable = '?';
- }
-
- if ($parameter->hasType() && $parameter->getType()->getName() !== 'self') {
- $typeDeclaration = $parameter->getType()->getName() . ' ';
- } else {
- try {
- $class = $parameter->getType() && !$parameter->getType()->isBuiltin()
- ? new ReflectionClass($parameter->getType()->getName())
- : null;
- } catch (ReflectionException $e) {
- throw new RuntimeException(
- \sprintf(
- 'Cannot mock %s::%s() because a class or ' .
- 'interface used in the signature is not loaded',
- $method->getDeclaringClass()->getName(),
- $method->getName()
- ),
- 0,
- $e
- );
- }
-
- if ($class !== null) {
- $typeDeclaration = $class->getName() . ' ';
- }
- }
-
- if (!$parameter->isVariadic()) {
- if ($parameter->isDefaultValueAvailable()) {
- try {
- $value = \var_export($parameter->getDefaultValue(), true);
- } catch (\ReflectionException $e) {
- throw new RuntimeException(
- $e->getMessage(),
- (int) $e->getCode(),
- $e
- );
- }
-
- $default = ' = ' . $value;
- } elseif ($parameter->isOptional()) {
- $default = ' = null';
- }
- }
- }
-
- if ($parameter->isPassedByReference()) {
- $reference = '&';
- }
-
- $parameters[] = $nullable . $typeDeclaration . $reference . $name . $default;
- }
-
- return \implode(', ', $parameters);
- }
-}