wordpress-develop/tests/phpunit/includes
Sergey Biryukov 044f702a1c Tests: Add a helper method for for creating named data providers in WP_UnitTestCase_Base.
This introduces a new test helper function which allows for turning a single-level array containing text strings into a data provider with named data sets, where the value of the data set will also be used as the name of the data set.

The function contains safeguards to ensure that it is only used with data compatible with this principle and will throw generic PHP exceptions when the data is incompatible. These type of exceptions will be displayed before the tests even start running and will stop the test run when they occur.

While generally speaking, all test cases ''should'' extend the base `WP_UnitTestCase_Base` class, this is still made a `public static` method to allow for a test, which by exception directly extends the PHPUnit base `TestCase` or the `PHPUnit_Adapter_TestCase`, to also be able to use this method.

Typical usage of this method:
{{{
public function data_provider_for_test_name() {
	$array = array(
		'value1',
		'value2',
	);

	return $this->text_array_to_dataprovider( $array );
}
}}}
The returned result will look like:
{{{
array(
	'value1' => array( 'value1' ),
	'value2' => array( 'value2' ),
)
}}}

Props jrf, hellofromTonya, adamsilverstein.
See #55652.

git-svn-id: https://develop.svn.wordpress.org/trunk@53521 602fd350-edb4-49c9-b593-d223f7449a82
2022-06-18 21:28:39 +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 Tests: Add a helper method for for creating named data providers in WP_UnitTestCase_Base. 2022-06-18 21:28:39 +00:00
bootstrap.php Coding Standards: Add public visibility to methods in tests/phpunit/includes/. 2021-11-04 13:15:33 +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 Editor: Update WordPress packages for 6.0 Beta 3 2022-04-26 13:39:57 +00:00
install.php Build/Test Tools: Disable WP Cron when installing PHPUnit tests. 2021-12-12 15:46:46 +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 Build/Test Tools: Make comment cache group persistent in object-cache.php. 2022-03-22 11:34:32 +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
utils.php Coding Standards: Add public visibility to methods in tests/phpunit/includes/. 2021-11-04 13:15:33 +00:00
wp-profiler.php Coding Standards: Fix incorrect alignment in two comment blocks. 2021-08-05 13:10:05 +00:00