mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
As things were, the inheritance order of the abstract test classes was as follows:
{{{
WP_UnitTestCase (PHPUnit adapter layer)
extends WP_UnitTestCase_Base (base test class)
extends PHPUnit\Framework\TestCase (PHPUnit native class)
}}}
Concrete (child) test classes, as well as more specific abstract TestCases, are/were expected to extend the `WP_UnitTestCase`.
This order is not optimal as it means that the `WP_UnitTestCase_Base` class would not be able to benefit from any polyfills and/or shims in the PHPUnit adapter layer.
With that in mind, this commit changes the inheritance to:
{{{
WP_UnitTestCase (empty class, left in place to not break BC for plugin/theme integration tests)
extends WP_UnitTestCase_Base (base test class)
extends PHPUnit_Adapter_TestCase (PHPUnit adapter layer)
extends PHPUnit\Framework\TestCase (PHPUnit native class)
}}}
The new order allows for the `WP_UnitTestCase_Base` to also benefit from the PHPUnit adapter layer.
For backward compatibility reasons the `WP_UnitTestCase`, which all test classes are (were) expected to extend, is left in place, though it is now an empty class and explicitly `abstract`.
Follow-up to [51559], [51560].
Props jrf, hellofromTonya, johnbillion, netweb, SergeyBiryukov.
See #46149.
git-svn-id: https://develop.svn.wordpress.org/trunk@51561 602fd350-edb4-49c9-b593-d223f7449a82
46 lines
1.6 KiB
PHP
46 lines
1.6 KiB
PHP
<?php
|
|
|
|
use Yoast\PHPUnitPolyfills\Helpers\AssertAttributeHelper;
|
|
use Yoast\PHPUnitPolyfills\Polyfills\AssertClosedResource;
|
|
use Yoast\PHPUnitPolyfills\Polyfills\AssertEqualsSpecializations;
|
|
use Yoast\PHPUnitPolyfills\Polyfills\AssertFileDirectory;
|
|
use Yoast\PHPUnitPolyfills\Polyfills\AssertFileEqualsSpecializations;
|
|
use Yoast\PHPUnitPolyfills\Polyfills\AssertionRenames;
|
|
use Yoast\PHPUnitPolyfills\Polyfills\AssertIsType;
|
|
use Yoast\PHPUnitPolyfills\Polyfills\AssertNumericType;
|
|
use Yoast\PHPUnitPolyfills\Polyfills\AssertObjectEquals;
|
|
use Yoast\PHPUnitPolyfills\Polyfills\AssertStringContains;
|
|
use Yoast\PHPUnitPolyfills\Polyfills\EqualToSpecializations;
|
|
use Yoast\PHPUnitPolyfills\Polyfills\ExpectException;
|
|
use Yoast\PHPUnitPolyfills\Polyfills\ExpectExceptionMessageMatches;
|
|
use Yoast\PHPUnitPolyfills\Polyfills\ExpectExceptionObject;
|
|
use Yoast\PHPUnitPolyfills\Polyfills\ExpectPHPException;
|
|
|
|
/**
|
|
* PHPUnit adapter layer.
|
|
*
|
|
* This class enhances the PHPUnit native `TestCase` with polyfills
|
|
* for assertions and expectation methods added between PHPUnit 4.8 - 9.5.
|
|
*
|
|
* See {@link https://github.com/Yoast/PHPUnit-Polyfills} for full
|
|
* documentation on the available polyfills.
|
|
*/
|
|
abstract class PHPUnit_Adapter_TestCase extends PHPUnit\Framework\TestCase {
|
|
|
|
use AssertAttributeHelper;
|
|
use AssertClosedResource;
|
|
use AssertEqualsSpecializations;
|
|
use AssertFileDirectory;
|
|
use AssertFileEqualsSpecializations;
|
|
use AssertionRenames;
|
|
use AssertIsType;
|
|
use AssertNumericType;
|
|
use AssertObjectEquals;
|
|
use AssertStringContains;
|
|
use EqualToSpecializations;
|
|
use ExpectException;
|
|
use ExpectExceptionMessageMatches;
|
|
use ExpectExceptionObject;
|
|
use ExpectPHPException;
|
|
}
|