mirror of
git://develop.git.wordpress.org/
synced 2025-02-21 15:15:14 +01: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