wordpress-develop/tests/phpunit/includes
Sergey Biryukov 28716eb8a6 Code Modernization: Remove dynamic properties in WP_UnitTestCase_Base.
Dynamic (non-explicitly declared) properties are deprecated as of PHP 8.2 and are expected to become a fatal error in PHP 9.0.

In this particular case, the `scandir()` method sets a dynamic `$matched_dirs` property, which is subsequently used in the `delete_folders()` method.

This commit removes the need for the property. Effectively, this changes the `scandir()` method to return an array of the matched directories instead of setting the property by using recursion in the method itself in an optimized manner.

Note the `array_merge()` not being in the loop itself, but at the very end of the function. This is for performance reasons, see [https://github.com/dseguy/clearPHP/blob/master/rules/no-array_merge-in-loop.md clearPHP: No array_merge() In Loops] for a more detailed explanation of this.

It has been verified in detail that the actual results of the previous version of the method and this version match, even when the paths passed are more complex and have deeper nested subdirectories.

Follow-up to [30658], [53557], [53558], [53850], [53851], [53852], [53853], [53854], [53856], [53916], [53935], [53936].

Props jrf, johnbillion, markjaquith, SergeyBiryukov.
See #56033.

git-svn-id: https://develop.svn.wordpress.org/trunk@53937 602fd350-edb4-49c9-b593-d223f7449a82
2022-08-24 13:49:36 +00:00
..
factory Docs: Corrections and improvements to types used in docblocks for symbols, properties, and filters. 2021-07-01 21:01:17 +00:00
phpunit6 Build/Test Tools: Alias the Getopt class conditionally, as the class no longer exists in PHPUnit 9.x. 2021-08-07 10:46:54 +00:00
abstract-testcase.php Code Modernization: Remove dynamic properties in WP_UnitTestCase_Base. 2022-08-24 13:49:36 +00:00
bootstrap.php Build/Test Tools: Only define WP_PLUGIN_DIR when running core tests. 2022-08-17 21:03:06 +00:00
class-basic-object.php REST API: Support 'object' and 'array' types in register_meta() schemas. 2019-08-15 17:16:21 +00:00
class-basic-subclass.php Build/Test tools: Remove unnecessary PHP functionality tests from the test suite. 2017-12-09 23:08:24 +00:00
class-jsonserializable-object.php Code Modernization: Fix "JsonSerializable_Object::jsonSerialize() should be compatible with JsonSerializable::jsonSerialize(): mixed" error on PHP 8.1. 2021-07-30 14:46:30 +00:00
class-wp-fake-block-type.php Blocks: Introduce WP_Block_Type and WP_Block_Type_Registry classes. 2018-12-13 09:43:29 +00:00
class-wp-rest-test-configurable-controller.php REST API: Don't assume all item schemas have properties. 2020-02-20 16:56:17 +00:00
class-wp-rest-test-search-handler.php REST API: Introduce controller for searching across post types. 2018-12-13 09:37:05 +00:00
class-wp-sitemaps-empty-test-provider.php Docs: Various corrections and improvements relating to types used in inline documentation. 2021-11-18 13:48:43 +00:00
class-wp-sitemaps-large-test-provider.php Docs: Various corrections and improvements relating to types used in inline documentation. 2021-11-18 13:48:43 +00:00
class-wp-sitemaps-test-provider.php Docs: Various corrections and improvements relating to types used in inline documentation. 2021-11-18 13:48:43 +00:00
class-wp-test-stream.php Build/Test Tools: Add seeking support to stream test library. 2021-04-20 03:01:55 +00:00
exceptions.php Docs: Improve documentation for tests/phpunit/includes/testcase-ajax.php. 2020-01-05 15:31:10 +00:00
factory.php Code Modernization: Replace dirname( __FILE__ ) calls with __DIR__ magic constant. 2020-02-06 06:31:22 +00:00
functions.php Tools: Automate backporting core blocks from Gutenberg to Core 2022-07-08 12:32:37 +00:00
install.php Coding Standards: Move wp-includes/wp-db.php to wp-includes/class-wpdb.php. 2022-07-21 15:58:51 +00:00
mock-fs.php Coding Standards: Add public visibility to methods in tests/phpunit/includes/. 2021-11-04 13:15:33 +00:00
mock-image-editor.php Media: apply the wp_editor_set_quality filter not only when loading an image in the editor but also when saving an converted image, after the mime-type of the output image has changed. 2021-08-31 18:57:09 +00:00
mock-invokable.php Docs: Miscellaneous DocBlock corrections. 2021-11-24 23:58:20 +00:00
mock-mailer.php Coding Standards: Add public visibility to methods in tests/phpunit/includes/. 2021-11-04 13:15:33 +00:00
normalize-xml.xsl Sitemaps: Add XML sitemaps functionality to WordPress. 2020-06-17 15:22:49 +00:00
object-cache.php Tests: Remove the list of non-persistent groups in Memcached implementation used in the test suite. 2022-08-04 15:37:15 +00:00
phpunit-adapter-testcase.php Build/Test Tools: Use the PHPUnit Polyfill TestCase as void workaround. 2021-08-07 10:20:05 +00:00
plural-form-function.php Coding Standards: Use static closures when not using $this. 2021-08-26 12:57:08 +00:00
spy-rest-server.php Docs: Miscellaneous DocBlock corrections. 2021-11-24 23:58:20 +00:00
testcase-ajax.php Build/Test Tools: Implement use of the void solution. 2021-08-07 10:29:41 +00:00
testcase-canonical.php Build/Test Tools: Declare two TestCase classes as abstract. 2021-08-09 14:51:05 +00:00
testcase-rest-api.php Tests: Replace most instances of assertEquals() in phpunit/includes/ with assertSame(). 2021-02-10 13:23:42 +00:00
testcase-rest-controller.php Build/Test Tools: Remove the assertion in filter_rest_url_for_leading_slash(). 2021-12-19 14:27:22 +00:00
testcase-rest-post-type-controller.php Tests: Use more appropriate assertions in various tests. 2021-07-10 11:15:44 +00:00
testcase-xml.php Tests: Replace most instances of assertEquals() in phpunit/includes/ with assertSame(). 2021-02-10 13:23:42 +00:00
testcase-xmlrpc.php Docs: Various docblock improvements and corrections. 2021-11-08 10:47:55 +00:00
testcase.php Build/Test Tools: Change the inheritance order of the abstract test classes. 2021-08-06 00:44:00 +00:00
trac.php Docs: Fix typo in TracTickets::isTracTicketClosed() description. 2022-02-20 10:12:37 +00:00
unregister-blocks-hooks.php Tools: Automate backporting core blocks from Gutenberg to Core 2022-07-08 12:32:37 +00:00
utils.php Code Modernization: Let MockClass extend stdClass. 2022-08-07 16:53:30 +00:00
wp-profiler.php Coding Standards: Fix incorrect alignment in two comment blocks. 2021-08-05 13:10:05 +00:00