diff --git a/composer.json b/composer.json
index 0411e248f99..c83330fbc1c 100644
--- a/composer.json
+++ b/composer.json
@@ -24,6 +24,9 @@
}
},
"scripts": {
- "backport": "bin/backport-wp-commit.sh"
+ "backport": "bin/backport-wp-commit.sh",
+ "phpcs": "vendor/bin/phpcs -n",
+ "phpcs-tests": "vendor/bin/phpcs -n tests",
+ "phpunit": "vendor/bin/phpunit"
}
}
diff --git a/tests/phpunit/includes/phpunit6/compat.php b/tests/phpunit/includes/phpunit6/compat.php
index e6eea5e7403..77099ef1530 100644
--- a/tests/phpunit/includes/phpunit6/compat.php
+++ b/tests/phpunit/includes/phpunit6/compat.php
@@ -14,6 +14,8 @@ class_alias( 'PHPUnit\Framework\AssertionFailedError', 'PHPUnit_Framework_Assert
class_alias( 'PHPUnit\Framework\TestSuite', 'PHPUnit_Framework_TestSuite' );
class_alias( 'PHPUnit\Framework\TestListener', 'PHPUnit_Framework_TestListener' );
class_alias( 'PHPUnit\Util\GlobalState', 'PHPUnit_Util_GlobalState' );
- class_alias( 'PHPUnit\Util\Getopt', 'PHPUnit_Util_Getopt' );
class_alias( 'PHPUnit\Util\Test', 'PHPUnit_Util_Test' );
+ if ( class_exists( 'PHPUnit\Util\Getopt' ) ) {
+ class_alias( 'PHPUnit\Util\Getopt', 'PHPUnit_Util_Getopt' );
+ }
}
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 99f21e745ac..00000000000
--- 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 327557541b6..00000000000
--- 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 5bf06f52de1..00000000000
--- 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 4b68a2b2b68..00000000000
--- 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 d6a036f4ce0..00000000000
--- 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 bd846dee76e..00000000000
--- 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 3adf2f0269c..00000000000
--- 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 3813fe4b9d9..00000000000
--- 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 56b561b65f2..00000000000
--- 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 4dd87cd725d..00000000000
--- 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 0d868f25273..00000000000
--- 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 4143b0f66af..00000000000
--- 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 fa0e70abc2f..00000000000
--- 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 cc69fd341cc..00000000000
--- 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 bb16e763eba..00000000000
--- 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 3a3881e976b..00000000000
--- 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 46fabcbdf9e..00000000000
--- 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 6e08753f426..00000000000
--- 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);
- }
-}
diff --git a/tests/phpunit/includes/phpunit7/testcase.php b/tests/phpunit/includes/phpunit7/testcase.php
deleted file mode 100644
index da4a348c877..00000000000
--- a/tests/phpunit/includes/phpunit7/testcase.php
+++ /dev/null
@@ -1,40 +0,0 @@
-assertStringNotContainsString( 'Test Cat 1', $found );
}
+ public function list_cats_callback( $cat ) {
+ if ( 'Test Cat 1' === $cat ) {
+ return '';
+ }
+
+ return $cat;
+ }
+
public function test_show_option_all_link_should_go_to_home_page_when_show_on_front_is_false() {
$cats = self::factory()->category->create_many( 2 );
@@ -247,14 +255,6 @@ public function test_show_option_all_link_should_link_to_post_archive_if_no_asso
$this->assertStringContainsString( "All", $found );
}
- public function list_cats_callback( $cat ) {
- if ( 'Test Cat 1' === $cat ) {
- return '';
- }
-
- return $cat;
- }
-
/**
* @see https://core.trac.wordpress.org/ticket/33460
*/
diff --git a/tests/phpunit/tests/comment/getPageOfComment.php b/tests/phpunit/tests/comment/getPageOfComment.php
index a0699b7557a..2f31e95c360 100644
--- a/tests/phpunit/tests/comment/getPageOfComment.php
+++ b/tests/phpunit/tests/comment/getPageOfComment.php
@@ -545,7 +545,7 @@ public function test_page_number_when_unapproved_comments_are_included_for_curre
remove_filter( 'wp_get_current_commenter', array( $this, 'get_current_commenter' ) );
- $this->assertContains( $new_unapproved, wp_list_pluck( $comments, 'comment_ID' ) );
+ $this->assertContains( (string) $new_unapproved, wp_list_pluck( $comments, 'comment_ID' ) );
}
/**
@@ -594,7 +594,7 @@ public function test_page_number_when_unapproved_comments_are_included_for_curre
)
);
- $this->assertContains( $new_unapproved, wp_list_pluck( $comments, 'comment_ID' ) );
+ $this->assertContains( (string) $new_unapproved, wp_list_pluck( $comments, 'comment_ID' ) );
wp_set_current_user( $current_user );
}
diff --git a/tests/phpunit/tests/comment/query.php b/tests/phpunit/tests/comment/query.php
index f3377ce6be6..9d613b06d81 100644
--- a/tests/phpunit/tests/comment/query.php
+++ b/tests/phpunit/tests/comment/query.php
@@ -2496,7 +2496,6 @@ public function test_search_false_should_be_ignored() {
'search' => false,
)
);
-
$this->assertStringNotContainsString( 'comment_author LIKE', $q->request );
}
@@ -2510,7 +2509,6 @@ public function test_search_null_should_be_ignored() {
'search' => null,
)
);
-
$this->assertStringNotContainsString( 'comment_author LIKE', $q->request );
}
@@ -2524,7 +2522,6 @@ public function test_search_empty_string_should_be_ignored() {
'search' => false,
)
);
-
$this->assertStringNotContainsString( 'comment_author LIKE', $q->request );
}
@@ -2539,7 +2536,6 @@ public function test_search_int_0_should_not_be_ignored() {
'search' => 0,
)
);
-
$this->assertStringContainsString( "comment_author LIKE '%0%'", $wpdb->remove_placeholder_escape( $q->request ) );
}
@@ -2554,7 +2550,6 @@ public function test_search_string_0_should_not_be_ignored() {
'search' => '0',
)
);
-
$this->assertStringContainsString( "comment_author LIKE '%0%'", $wpdb->remove_placeholder_escape( $q->request ) );
}
diff --git a/tests/phpunit/tests/compat.php b/tests/phpunit/tests/compat.php
index 3c6e581953e..32ed1d49aca 100644
--- a/tests/phpunit/tests/compat.php
+++ b/tests/phpunit/tests/compat.php
@@ -181,7 +181,7 @@ function test_hash_hmac_output() {
}
function test_json_encode_decode() {
- $this->expectException( 'PHPUnit\Framework\Error\Notice' );
+ $this->expectNotice( 'PHPUnit\Framework\Error\Notice' );
require_once ABSPATH . WPINC . '/class-json.php';
$json = new Services_JSON();
diff --git a/tests/phpunit/tests/http/http.php b/tests/phpunit/tests/http/http.php
index d2670e45c5b..45b5dbe8f29 100644
--- a/tests/phpunit/tests/http/http.php
+++ b/tests/phpunit/tests/http/http.php
@@ -403,7 +403,7 @@ function test_classicpress_user_agent_full() {
$ua_full
);
- $this->assertRegExp(
+ $this->assertMatchesRegularExpression(
'#&site=[0-9a-f]{40}$#',
$ua_full
);
diff --git a/tests/phpunit/tests/media.php b/tests/phpunit/tests/media.php
index 14a5aebb3e6..11b419d66c1 100644
--- a/tests/phpunit/tests/media.php
+++ b/tests/phpunit/tests/media.php
@@ -2687,7 +2687,7 @@ function test_wp_img_tag_add_loading_attr() {
$img = '';
$img = wp_img_tag_add_loading_attr( $img, 'test' );
- $this->assertContains( ' loading="lazy"', $img );
+ $this->assertStringContainsString( ' loading="lazy"', $img );
}
/**
@@ -2698,7 +2698,7 @@ function test_wp_img_tag_add_loading_attr_without_src() {
$img = '';
$img = wp_img_tag_add_loading_attr( $img, 'test' );
- $this->assertNotContains( ' loading=', $img );
+ $this->assertStringNotContainsString( ' loading=', $img );
}
/**
@@ -2709,11 +2709,11 @@ function test_wp_img_tag_add_loading_attr_with_single_quotes() {
$img = "";
$img = wp_img_tag_add_loading_attr( $img, 'test' );
- $this->assertNotContains( ' loading=', $img );
+ $this->assertStringNotContainsString( ' loading=', $img );
// Test specifically that the attribute is not there with double-quotes,
// to avoid regressions.
- $this->assertNotContains( ' loading="lazy"', $img );
+ $this->assertStringNotContainsString( ' loading="lazy"', $img );
}
/**
@@ -2724,7 +2724,7 @@ function test_wp_img_tag_add_loading_attr_opt_out() {
$img = '';
add_filter( 'wp_img_tag_add_loading_attr', '__return_false' );
- $this->assertNotContains( ' loading=', $img );
+ $this->assertStringNotContainsString( ' loading=', $img );
}
/**
@@ -2734,7 +2734,7 @@ function test_wp_iframe_tag_add_loading_attr() {
$iframe = '';
$iframe = wp_iframe_tag_add_loading_attr( $iframe, 'test' );
- $this->assertContains( ' loading="lazy"', $iframe );
+ $this->assertStringContainsString( ' loading="lazy"', $iframe );
}
/**
@@ -2744,7 +2744,7 @@ function test_wp_iframe_tag_add_loading_attr_without_src() {
$iframe = '';
$iframe = wp_iframe_tag_add_loading_attr( $iframe, 'test' );
- $this->assertNotContains( ' loading=', $iframe );
+ $this->assertStringNotContainsString( ' loading=', $iframe );
}
/**
@@ -2754,11 +2754,11 @@ function test_wp_iframe_tag_add_loading_attr_with_single_quotes() {
$iframe = "";
$iframe = wp_iframe_tag_add_loading_attr( $iframe, 'test' );
- $this->assertNotContains( ' loading=', $iframe );
+ $this->assertStringNotContainsString( ' loading=', $iframe );
// Test specifically that the attribute is not there with double-quotes,
// to avoid regressions.
- $this->assertNotContains( ' loading="lazy"', $iframe );
+ $this->assertStringNotContainsString( ' loading="lazy"', $iframe );
}
/**
@@ -2768,7 +2768,7 @@ function test_wp_iframe_tag_add_loading_attr_opt_out() {
$iframe = '';
add_filter( 'wp_iframe_tag_add_loading_attr', '__return_false' );
- $this->assertNotContains( ' loading=', $iframe );
+ $this->assertStringNotContainsString( ' loading=', $iframe );
}
/**
@@ -2778,7 +2778,7 @@ function test_wp_iframe_tag_add_loading_attr_opt_out() {
function test_wp_get_attachment_image_loading() {
$img = wp_get_attachment_image( self::$large_id );
- $this->assertContains( ' loading="lazy"', $img );
+ $this->assertStringContainsString( ' loading="lazy"', $img );
}
/**
@@ -2790,7 +2790,7 @@ function test_wp_get_attachment_image_loading_opt_out() {
$img = wp_get_attachment_image( self::$large_id );
// There should not be any loading attribute in this case.
- $this->assertNotContains( ' loading=', $img );
+ $this->assertStringNotContainsString( ' loading=', $img );
}
/**
@@ -2805,7 +2805,7 @@ function test_wp_get_attachment_image_loading_opt_out_individual() {
$img = wp_get_attachment_image( self::$large_id, 'thumbnail', false, array( 'loading' => false ) );
// There should not be any loading attribute in this case.
- $this->assertNotContains( ' loading=', $img );
+ $this->assertStringNotContainsString( ' loading=', $img );
}
/**
diff --git a/tests/phpunit/tests/post/getTheContent.php b/tests/phpunit/tests/post/getTheContent.php
index 54b8fe318ee..91f0b621f37 100644
--- a/tests/phpunit/tests/post/getTheContent.php
+++ b/tests/phpunit/tests/post/getTheContent.php
@@ -19,7 +19,7 @@ public function test_argument_back_compat_more_link_text() {
$found = get_the_content( 'Ping' );
}
- $this->assertContains( '>Ping<', $found );
+ $this->assertStringContainsString( '>Ping<', $found );
}
/**
@@ -38,7 +38,7 @@ public function test_argument_back_compat_strip_teaser() {
$found = get_the_content( null, true );
}
- $this->assertNotContains( 'Foo', $found );
+ $this->assertStringNotContainsString( 'Foo', $found );
}
/**