WP 7.2 Data Provider Notes

The PHPUnit tests handbook page recommends that a data provider used by a single test:

  • is named for the test, with test_ replaced by data_, and
  • sits immediately below the test.

This post lists the tests added or changed during the WordPress 7.2 release cycle that do not follow these recommendations. The cycle is taken to begin after r63163 (GitHub), the last commit to trunk before the 7.1 branch was created, and runs to r65441 (GitHub).

Summary

  • 397 tests in 205 files, introduced in 190 commits.
  • 334 use a data provider with a different name.
  • 39 use a data provider with a different name that is not immediately below the test.
  • 24 use a correctly named data provider that is not immediately below the test.

Method

  • A data provider counts as single use if it is referenced by exactly one @dataProvider annotation or DataProvider attribute in the whole test suite. Shared providers and providers in other classes are excluded.
  • Tests that already failed to follow the recommendations before the 7.2 cycle began are excluded, so commits that only changed existing providers (for example, making them static) are not listed.
  • Each test is attributed to the first commit in the cycle in which it does not follow the recommendations. Where a test was renamed without renaming its provider, the renaming commit is listed.

Tests by commit

r63179: HTML API: Recognize form feed in RCDATA and RAWTEXT tag closers.

r63179 · GitHub · 2026-08-11

See #65372.

  • tests/phpunit/tests/html-api/wpHtmlTagProcessor.php: test_rcdata_and_rawtext_end_tags_accept_tag_name_terminators() uses data_rcdata_and_rawtext_tag_name_terminators(); expected name data_rcdata_and_rawtext_end_tags_accept_tag_name_terminators.

r63298: Return false from WP AI client support checks when the wrapped builder throws

r63298 · GitHub · 2026-08-14

Fixes #65781.

  • tests/phpunit/tests/ai-client/wpAiClientPromptBuilder.php: test_support_check_methods_return_false_when_builder_throws() uses data_support_check_methods(); expected name data_support_check_methods_return_false_when_builder_throws.

r63307: Rewrite Rules: Only a leading www. is optional in url_to_postid().

r63307 · GitHub · 2026-08-16

Fixes #65016.
Follow-up to r63207 (GitHub).

  • tests/phpunit/tests/rewrite.php: test_url_to_postid_matches_www_prefix_only() uses data_url_to_postid_host_matching(); expected name data_url_to_postid_matches_www_prefix_only.

r63343: Make the ability category optional

r63343 · GitHub · 2026-08-24

Fixes #65569.

  • tests/phpunit/tests/abilities-api/wpAbilitiesRegistry.php: test_register_ability_rejects_invalid_category_type() uses data_invalid_category_types(); expected name data_register_ability_rejects_invalid_category_type.

r63362: I18N: Simplify WP_Textdomain_Registry::has().

r63362 · GitHub · 2026-08-27

Fixes #62348.

  • tests/phpunit/tests/l10n/wpTextdomainRegistry.php: test_translations_are_not_shared_between_text_domains_with_a_common_prefix() uses data_text_domains_sharing_a_prefix(); expected name data_translations_are_not_shared_between_text_domains_with_a_common_prefix.

r63418: HTML API: Escape syntax characters in RCDATA.

r63418 · GitHub · 2026-08-31

See #65984.

  • tests/phpunit/tests/html-api/wpHtmlTagProcessorModifiableText.php: test_escapes_rcdata_content() uses data_rcdata_element_names(); expected name data_escapes_rcdata_content.

r63513: HTML API: Allow raw text which cannot close its own element.

r63513 · GitHub · 2026-09-07

Fixes #65824.

  • tests/phpunit/tests/html-api/wpHtmlTagProcessorModifiableText.php: test_allows_raw_text_which_cannot_close_its_element() uses data_raw_text_resembling_a_closing_tag(); expected name data_allows_raw_text_which_cannot_close_its_element.

r63566: Administration: Prevent fatal error in sprintf replacement in tooltips.

r63566 · GitHub · 2026-09-09

Fixes #65914.

  • tests/phpunit/tests/general/wpGetTooltip.php: test_wp_get_tooltip_preserves_percent_signs_in_button_markup() uses data_button_markup_containing_percent_signs(); expected name data_wp_get_tooltip_preserves_percent_signs_in_button_markup; 2 methods between the test and the provider.
  • tests/phpunit/tests/general/wpGetTooltip.php: test_wp_get_tooltip_preserves_percent_encoding_in_anchor_href() uses data_percent_encoded_hrefs(); expected name data_wp_get_tooltip_preserves_percent_encoding_in_anchor_href.

r63570: Sitemaps: Don’t 404 valid sitemaps on sites with no posts.

r63570 · GitHub · 2026-09-09

Fixes #65945.
See #39157, #61293.
Follow-up to r48072 (GitHub), r48523 (GitHub), r62664 (GitHub).

  • tests/phpunit/tests/sitemaps/sitemaps.php: test_unusable_sitemap_query_var_should_return_404() uses data_unusable_sitemap_query_vars(); expected name data_unusable_sitemap_query_var_should_return_404.
  • tests/phpunit/tests/wp/handle404.php: test_sitemap_requests_should_not_be_404ed_by_an_empty_main_query() uses data_sitemap_requests(); expected name data_sitemap_requests_should_not_be_404ed_by_an_empty_main_query.

r63579: Script Loader: Avoid a false entry in inline script data.

r63579 · GitHub · 2026-09-10

Fixes #52320.
Follow-up to r36633 (GitHub).

  • tests/phpunit/tests/dependencies/scripts.php: test_add_inline_script_does_not_store_false_for_empty_existing_data() uses data_inline_script_positions(); expected name data_add_inline_script_does_not_store_false_for_empty_existing_data.

r63631: Tests: Reduce export fixture cost and fix upload cleanup.

r63631 · GitHub · 2026-09-15

See #66074.

  • tests/phpunit/tests/includes/uploadSnapshot.php: test_scan_user_uploads_preserves_initial_snapshot() uses data_initial_uploads(); expected name data_scan_user_uploads_preserves_initial_snapshot.

r63886: Comments: Skip descendant comments that no longer exist.

r63886 · GitHub · 2026-09-23

Fixes #66151.
See #65817.
Follow-up to r34546 (GitHub).

  • tests/phpunit/tests/comment/query.php: test_fill_descendants_should_skip_cached_child_ids_that_no_longer_exist() uses data_hierarchical_modes(); expected name data_fill_descendants_should_skip_cached_child_ids_that_no_longer_exist.

r63888: Block Processor: Stop extra block delimiter on trailing comments.

r63888 · GitHub · 2026-09-23

See #66138.

  • tests/phpunit/tests/block-processor/wpBlockProcessor.php: test_reports_no_delimiter_for_partial_delimiter_at_end_of_document() uses data_documents_ending_in_a_partial_delimiter(); expected name data_reports_no_delimiter_for_partial_delimiter_at_end_of_document.

r63902: Administration: Use script helper for update count JS.

r63902 · GitHub · 2026-09-23

See #59446, #59444.
Follow-up to r27280 (GitHub), r29357 (GitHub), r57148 (GitHub), r63481 (GitHub).
Followed up by r63947 (GitHub): Administration: Use script helper for bulk update JS.

  • tests/phpunit/tests/admin/wpUpgraderSkin.php: test_decrement_update_count_should_print_nothing_without_a_usable_result() uses data_results_that_should_print_nothing(); expected name data_decrement_update_count_should_print_nothing_without_a_usable_result.

r63913: Block Processor: Ensure block delimiters align with single HTML comments.

r63913 · GitHub · 2026-09-24

See #66138.

  • tests/phpunit/tests/block-processor/wpBlockProcessor.php: test_preserves_terminal_non_delimiter_comments_as_html() uses data_terminal_non_delimiter_comments(); expected name data_preserves_terminal_non_delimiter_comments_as_html.
  • tests/phpunit/tests/block-processor/wpBlockProcessor.php: test_delimiter_does_not_span_a_comment_ending() uses data_delimiters_and_comment_endings(); expected name data_delimiter_does_not_span_a_comment_ending; 1 method between the test and the provider.
  • tests/phpunit/tests/block-processor/wpBlockProcessor.php: test_skips_the_whole_comment_when_the_json_attributes_are_rejected() uses data_comments_with_rejected_json_attributes(); expected name data_skips_the_whole_comment_when_the_json_attributes_are_rejected.

r63915: Query: Prefer published pages in path lookups.

r63915 · GitHub · 2026-09-24

Fixes #61996.

  • tests/phpunit/tests/post/getPageByPath.php: test_should_prefer_published_page_then_lowest_id() uses data_page_post_types(); expected name data_should_prefer_published_page_then_lowest_id.

r63925: Build/Test Tools: Make unit test factories throw on failure.

r63925 · GitHub · 2026-09-24

Fixes #66111.
Follow-up to r40968 (GitHub), r55019 (GitHub), r63924 (GitHub).

  • tests/phpunit/tests/includes/factory.php: test_create_should_throw_an_exception_when_a_non_positive_id_is_returned() uses data_non_positive_object_ids(); expected name data_create_should_throw_an_exception_when_a_non_positive_id_is_returned.
  • tests/phpunit/tests/includes/factory.php: test_term_factory_should_apply_an_after_create_callback() uses data_term_taxonomy_sources(); expected name data_term_factory_should_apply_an_after_create_callback.
  • tests/phpunit/tests/includes/factory.php: test_create_and_get_should_throw_an_exception_when_a_legacy_factory_cannot_retrieve() uses data_legacy_retrieval_failures(); expected name data_create_and_get_should_throw_an_exception_when_a_legacy_factory_cannot_retrieve.

r63999: Icons: Support keyword-based search in the icons registry.

r63999 · GitHub · 2026-09-29

Fixes #66158.

  • tests/phpunit/tests/icons/wpIconsRegistry.php: test_register_icon_with_invalid_keywords() uses data_invalid_keywords(); expected name data_register_icon_with_invalid_keywords; provider is above the test.

r64073: Sitemaps: Remove XSL stylesheets.

r64073 · GitHub · 2026-10-03

Fixes #65593.

  • tests/phpunit/tests/sitemaps/wpSitemapsRenderer.php: test_deprecated_stylesheet_filters() uses data_deprecated_stylesheet_filters(); 1 method between the test and the provider.

r64085: Tests: Cover sitemap provider filtering and registry lookups.

r64085 · GitHub · 2026-10-04

See #65819.

  • tests/phpunit/tests/sitemaps/wpSitemapsRegistry.php: test_add_provider_filter_rejects_non_provider() uses data_invalid_sitemap_providers(); expected name data_add_provider_filter_rejects_non_provider.

r64086: Tests: Cover the term data block bindings source.

r64086 · GitHub · 2026-10-04

See #65819.

  • tests/phpunit/tests/block-bindings/termDataSource.php: test_get_value_returns_null_when_context_empty() uses data_missing_or_empty_context(); expected name data_get_value_returns_null_when_context_empty.
  • tests/phpunit/tests/block-bindings/termDataSource.php: test_get_value_returns_supported_fields() uses data_supported_fields(); expected name data_get_value_returns_supported_fields.

r64120: Script Loader: Prefetch assets for the next admin screen.

r64120 · GitHub · 2026-10-06

See #57548.
Follow-up to r11119 (GitHub), r56687 (GitHub), r60948 (GitHub), r61397 (GitHub), r61927 (GitHub).
Followed up by r64121 (GitHub): Tests: Serve the site without a port in a prefetch test; r64320 (GitHub): Script Loader: Disable script/style concatenation by default; r64585 (GitHub): Script Loader: Retire script and style concatenation.

  • tests/phpunit/tests/dependencies/wpPrefetchAdminAssets.php: test_login_prefetches_editor_assets_for_editor_destination() uses data_editor_destinations(); expected name data_login_prefetches_editor_assets_for_editor_destination.
  • tests/phpunit/tests/dependencies/wpPrefetchAdminAssets.php: test_login_checks_block_editor_for_post_type() uses data_editor_destinations_by_post_type(); expected name data_login_checks_block_editor_for_post_type.
  • tests/phpunit/tests/dependencies/wpPrefetchAdminAssets.php: test_login_prefetches_on_every_login_screen() uses data_login_screens(); expected name data_login_prefetches_on_every_login_screen.
  • tests/phpunit/tests/dependencies/wpPrefetchAdminAssets.php: test_login_prints_nothing_when_not_leading_to_admin() uses data_login_requests_not_leading_to_admin(); expected name data_login_prints_nothing_when_not_leading_to_admin.
  • tests/phpunit/tests/dependencies/wpPrefetchAdminAssets.php: test_admin_screen_prefetches_editor_assets() uses data_admin_screens_leading_to_editor(); expected name data_admin_screen_prefetches_editor_assets.
  • tests/phpunit/tests/dependencies/wpPrefetchAdminAssets.php: test_other_admin_screen_prints_nothing() uses data_other_admin_screens(); expected name data_other_admin_screen_prints_nothing.
  • tests/phpunit/tests/dependencies/wpPrefetchAdminAssets.php: test_filter_can_turn_off_prefetching() uses data_filter_turning_off(); expected name data_filter_can_turn_off_prefetching; 1 method between the test and the provider.
  • tests/phpunit/tests/dependencies/wpStyles/getRtlSrc.php: test_matches_printed_href() uses data_matches_printed_href(); 1 method between the test and the provider.

r64224: Icons: Move public to collections and add core-admin collection.

r64224 · GitHub · 2026-10-07

Fixes #66114.
Follow-up to r63625 (GitHub).

  • tests/phpunit/tests/icons/wpIconCollectionsRegistry.php: test_register_collection_accepts_boolean_public_property() uses data_boolean_public_properties(); expected name data_register_collection_accepts_boolean_public_property.
  • tests/phpunit/tests/icons/wpIconCollectionsRegistry.php: test_register_collection_rejects_non_boolean_public_property() uses data_non_boolean_public_properties(); expected name data_register_collection_rejects_non_boolean_public_property.
  • tests/phpunit/tests/icons/wpRestIconsController.php: test_get_items_omits_icons_in_non_public_collections() uses data_icon_visibility_searches(); expected name data_get_items_omits_icons_in_non_public_collections.
  • tests/phpunit/tests/icons/wpRestIconsController.php: test_get_items_returns_404_for_non_public_collection() uses data_non_public_collection_requests(); expected name data_get_items_returns_404_for_non_public_collection.

r64233: KSES: Reimplement with Tag Processor.

r64233 · GitHub · 2026-10-07

Fixes #37698, #58921, #59310, #63208.
Followed up by r64255 (GitHub): KSES: Normalize all block delimiters; r64355 (GitHub): Tests: Fix Block Bindings unsafe HTML test.

  • tests/phpunit/tests/kses.php: test_wp_kses_is_idempotent() uses data_wp_kses_idempotent_inputs(); expected name data_wp_kses_is_idempotent.

r64238: Editor: normalize block gap values in layout and fix grid axial gap.

r64238 · GitHub · 2026-10-07

Fixes #66263.

  • tests/phpunit/tests/block-supports/layout.php: test_sanitize_block_gap_value_normalizes_zero_and_rejects_other_non_string_values() uses data_sanitize_block_gap_value(); expected name data_sanitize_block_gap_value_normalizes_zero_and_rejects_other_non_string_values.
  • tests/phpunit/tests/theme/wpThemeJson.php: test_get_stylesheet_generates_layout_styles_with_axial_block_gap() uses data_get_stylesheet_with_axial_block_gap(); expected name data_get_stylesheet_generates_layout_styles_with_axial_block_gap.

r64239: Users: Prevent duplicate email change admin notices on multisite.

r64239 · GitHub · 2026-10-08

Fixes #66173.
Follow-up to r64228 (GitHub).

  • tests/phpunit/tests/user/newUserEmailAdminNotice.php: test_should_not_be_hooked_to_multisite_admin_notice_actions() uses data_multisite_admin_notice_actions(); expected name data_should_not_be_hooked_to_multisite_admin_notice_actions.

r64247: Feeds: Fix feed build date for ID-only and partial queries.

r64247 · GitHub · 2026-10-09

Fixes #59956.
See #65817.
Follow-up to r44948 (GitHub), r46974 (GitHub).

  • tests/phpunit/tests/date/getFeedBuildDate.php: test_should_return_correct_build_date_for_cold_query_fields() uses data_cold_post_query_fields(); expected name data_should_return_correct_build_date_for_cold_query_fields.

r64284: Tests: Restore the original Interactivity API instance.

r64284 · GitHub · 2026-10-10

See #65893.

  • tests/phpunit/tests/interactivity-api/wpInteractivityAPIFunctions.php: test_original_global_instance_is_restored_after_tear_down() uses data_original_global_instance_runs(); expected name data_original_global_instance_is_restored_after_tear_down.

r64286: Tests: Expand HTML character reference decoding coverage.

r64286 · GitHub · 2026-10-10

See #61072.

  • tests/phpunit/tests/html-api/wpHtmlDecoder.php: test_decodes_ambiguous_ampersands() uses data_ambiguous_ampersands(); expected name data_decodes_ambiguous_ampersands.
  • tests/phpunit/tests/html-api/wpHtmlDecoder.php: test_decode_attribute_decodes_named_character_references() uses data_decode_attribute_named_character_references(); expected name data_decode_attribute_decodes_named_character_references.
  • tests/phpunit/tests/html-api/wpHtmlDecoder.php: test_decodes_numeric_character_references() uses data_numeric_character_references(); expected name data_decodes_numeric_character_references.
  • tests/phpunit/tests/html-api/wpHtmlDecoder.php: test_decodes_windows_1252_mapped_characters() uses data_windows_1252_mapped_characters(); expected name data_decodes_windows_1252_mapped_characters.

r64287: Tests: Cover the post data Block Bindings source.

r64287 · GitHub · 2026-10-10

See #65819.

  • tests/phpunit/tests/block-bindings/postDataSource.php: test_get_value_returns_null_when_post_id_missing() uses data_missing_or_empty_post_id(); expected name data_get_value_returns_null_when_post_id_missing.

r64301: Admin: Add screen option to turn off moving meta boxes.

r64301 · GitHub · 2026-10-11

Fixes #50699, #51419.

  • tests/phpunit/tests/ajax/wpAjaxMetaBoxReordering.php: test_wp_ajax_meta_box_reordering_saves_user_option() uses data_meta_box_reordering_states(); expected name data_wp_ajax_meta_box_reordering_saves_user_option.

r64308: Tests: Cover validate_plugin().

r64308 · GitHub · 2026-10-12

See #65819.

  • tests/phpunit/tests/admin/includes/plugin/validatePlugin.php: test_validate_plugin_returns_error_for_invalid_path() uses data_invalid_plugin_paths(); expected name data_validate_plugin_returns_error_for_invalid_path.

r64310: Tests: Expand coverage for the icon collections REST endpoint.

r64310 · GitHub · 2026-10-12

Fixes #66287.

  • tests/phpunit/tests/icons/wpRestIconCollectionsController.php: test_get_item_returns_404_for_non_public_collection() uses data_non_public_collections(); expected name data_get_item_returns_404_for_non_public_collection.

r64311: Core Abilities: Add the core/settings-get ability.

r64311 · GitHub · 2026-10-12

Fixes #64605.
Followed up by r65072 (GitHub): Abilities API: Encode empty object results as JSON objects.

  • tests/phpunit/tests/abilities-api/wpRegisterCoreSettingsGetAbility.php: test_core_settings_get_reads_stored_values() uses data_stored_values(); expected name data_core_settings_get_reads_stored_values.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreSettingsGetAbility.php: test_core_settings_get_reads_a_setting_that_was_never_saved() uses data_never_saved_settings(); expected name data_core_settings_get_reads_a_setting_that_was_never_saved.

r64314: Tests: Cover scheduled publication and the Scheduled posts view.

r64314 · GitHub · 2026-10-12

Fixes #65772.

  • tests/phpunit/tests/admin/wpPostsListTable.php: test_column_date_should_show_scheduled_post_status() uses data_scheduled_post_date_column_status(); expected name data_column_date_should_show_scheduled_post_status.

r64315: JSON schema: Send empty object defaults as {} for union types

r64315 · GitHub · 2026-10-12

See #66267.
Follow-up to r62591 (GitHub).
Followed up by r64594 (GitHub): JSON Schema: Prepare default values according to their schemas.

  • tests/phpunit/tests/json-schema.php: test_wp_prepare_json_schema_for_client_encodes_default() uses data_wp_prepare_json_schema_for_client_encodes_default(); provider is above the test.

r64324: Tests: Cover the pattern overrides block bindings source.

r64324 · GitHub · 2026-10-13

See #65819.

  • tests/phpunit/tests/block-bindings/patternOverridesSource.php: test_get_value_returns_null_when_metadata_name_empty() uses data_empty_metadata_names(); expected name data_get_value_returns_null_when_metadata_name_empty.
  • tests/phpunit/tests/block-bindings/patternOverridesSource.php: test_get_value_handles_different_data_types() uses data_override_values_and_types(); expected name data_get_value_handles_different_data_types.

r64330: Tests: Add coverage for WP_Widget_Pages.

r64330 · GitHub · 2026-10-13

See #65819.

  • tests/phpunit/tests/widgets/wpWidgetPages.php: test_widget_applies_widget_pages_args_filter() uses data_widget_pages_args(); expected name data_widget_applies_widget_pages_args_filter.

r64332: Tests: Add coverage for WP_Widget_Tag_Cloud.

r64332 · GitHub · 2026-10-13

See #65819.

  • tests/phpunit/tests/widgets/wpWidgetTagCloud.php: test_widget_applies_widget_tag_cloud_args_filter() uses data_widget_tag_cloud_args(); expected name data_widget_applies_widget_tag_cloud_args_filter.

r64337: Security: Introduce the Secrets API.

r64337 · GitHub · 2026-10-13

Fixes #66187.
See #64789.
Followed up by r64344 (GitHub): Security: Use str_contains() and str_starts_with() in the Secrets API; r64345 (GitHub): Security: Use str_starts_with() in the Secrets API test mocks; r64674 (GitHub): Security: Keep the previous secret version when a value is saved unchanged; r64690 (GitHub): Code Modernization: Use array_any() and array_all() more widely; r64995 (GitHub): Code Modernization: Use the null coalescing operator in the Secrets API; r65272 (GitHub): Security: Improve Secrets API tests and inline documentation; r65373 (GitHub): Security: Keep the Secrets API root key after a failed read; r65374 (GitHub): Plugins: List secrets.php as a drop-in; r65375 (GitHub): Security: Harden secret names, parameters and the root key field; r65378 (GitHub): Security: Let the secrets.php drop-in set plain variables; r65385 (GitHub): Security: Require WP_SECRETS_KEY for the Secrets API; r65387 (GitHub): Security: Correct the Secrets API Site Health reports; r65389 (GitHub): Security: Generate WP_SECRETS_KEY during installation; r65390 (GitHub): Security: Make the Secrets API extension points abstract classes; r65394 (GitHub): Security: Move Secrets API Site Health checks into WP_Site_Health; r65395 (GitHub): Docs: Mark the internal Secrets API helper functions as private.

  • tests/phpunit/tests/secrets/errorCodes.php: test_error_code_values_match_the_published_contract() uses data_published_error_codes(); expected name data_error_code_values_match_the_published_contract.

r64346: Abilities API: Add the core/users-query ability.

r64346 · GitHub · 2026-10-14

Fixes #64657.
Followed up by r65002 (GitHub): Abilities API: Return the core/users-query registration date as registered.site and registered.gmt.

  • tests/phpunit/tests/abilities-api/wpRegisterCoreUsersAbility.php: test_roles_have_expected_username_filter_permissions() uses data_roles_for_username_filter_permissions(); expected name data_roles_have_expected_username_filter_permissions.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreUsersAbility.php: test_empty_collection_mode_restricts_users_without_list_users_to_public_authors() uses data_roles_without_list_users(); expected name data_empty_collection_mode_restricts_users_without_list_users_to_public_authors.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreUsersAbility.php: test_unsupported_where_key_fails_schema_validation() uses data_unsupported_where_keys(); expected name data_unsupported_where_key_fails_schema_validation.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreUsersAbility.php: test_roles_have_expected_field_visibility_for_another_public_author() uses data_roles_for_another_public_author_field_visibility(); expected name data_roles_have_expected_field_visibility_for_another_public_author.

r64357: Tests: Add coverage for WP_Widget_Recent_Comments.

r64357 · GitHub · 2026-10-15

See #65819.

  • tests/phpunit/tests/widgets/wpWidgetRecentComments.php: test_construct_hooks_styles_only_for_active_widget() uses data_construct_style_hook(); expected name data_construct_hooks_styles_only_for_active_widget.

r64360: Tests: Add coverage for wp_roles().

r64360 · GitHub · 2026-10-15

See #65819.

  • tests/phpunit/tests/user/wpRoles.php: test_should_replace_global_which_is_not_roles_instance() uses data_values_other_than_roles_instance(); expected name data_should_replace_global_which_is_not_roles_instance.

r64361: Tests: Cover template path traversal restrictions.

r64361 · GitHub · 2026-10-15

See #65819.
Followed up by r64399 (GitHub): Tests: Remove redundant template-global restoration.

  • tests/phpunit/tests/theme/locateTemplate.php: test_should_restrict_template_names_with_parent_directory_segment() uses data_template_names_with_parent_directory_segment(); expected name data_should_restrict_template_names_with_parent_directory_segment.
  • tests/phpunit/tests/theme/wpIsTemplatePathAllowed.php: test_should_allow_path_without_parent_directory_segment() uses data_paths_without_parent_directory_segment(); expected name data_should_allow_path_without_parent_directory_segment.
  • tests/phpunit/tests/theme/wpIsTemplatePathAllowed.php: test_should_resolve_path_with_parent_directory_segment() uses data_paths_with_parent_directory_segment(); expected name data_should_resolve_path_with_parent_directory_segment.
  • tests/phpunit/tests/theme/wpIsTemplatePathAllowed.php: test_should_allow_parent_directory_of_theme_in_subdirectory() uses data_themes_in_subdirectory(); expected name data_should_allow_parent_directory_of_theme_in_subdirectory.

r64368: Tests: Cover error protection functions.

r64368 · GitHub · 2026-10-15

See #65819.

  • tests/phpunit/tests/error-protection/functions.php: test_wp_is_fatal_error_handler_enabled_respects_constant() uses data_disable_fatal_error_handler_constant(); expected name data_wp_is_fatal_error_handler_enabled_respects_constant.

r64369: Tests: Expand recovery mode cookie service coverage.

r64369 · GitHub · 2026-10-15

See #65819.

  • tests/phpunit/tests/error-protection/wpRecoveryModeCookieService.php: test_validate_cookie_uses_filtered_cookie_length() uses data_filtered_cookie_lengths(); expected name data_validate_cookie_uses_filtered_cookie_length.
  • tests/phpunit/tests/error-protection/wpRecoveryModeCookieService.php: test_get_session_id_from_cookie_returns_wp_error_if_invalid_format() uses data_cookies_with_invalid_format(); expected name data_get_session_id_from_cookie_returns_wp_error_if_invalid_format.

r64372: Tests: Cover plugin uninstall behavior.

r64372 · GitHub · 2026-10-15

See #65819.

  • tests/phpunit/tests/admin/includes/plugin/uninstallPlugin.php: test_uninstall_plugin_fires_pre_uninstall_action() uses data_plugins_for_pre_uninstall_action(); expected name data_uninstall_plugin_fires_pre_uninstall_action.

r64373: Tests: Cover admin menu and submenu removal.

r64373 · GitHub · 2026-10-15

See #65819.

  • tests/phpunit/tests/admin/includes/plugin/removeMenuPage.php: test_remove_menu_page_returns_false_without_match() uses data_menu_slugs_without_match(); expected name data_remove_menu_page_returns_false_without_match.
  • tests/phpunit/tests/admin/includes/plugin/removeMenuPage.php: test_remove_submenu_page_returns_false_without_match() uses data_submenu_slugs_without_match(); expected name data_remove_submenu_page_returns_false_without_match.

r64374: Tests: Cover admin page parent resolution and plugin page hooks.

r64374 · GitHub · 2026-10-15

See #65819.
Followed up by r64395 (GitHub): Tests: Cover preservation of an existing admin parent file.

  • tests/phpunit/tests/admin/includes/plugin/getAdminPageParent.php: test_get_admin_page_parent_returns_explicit_parent_page() uses data_explicit_parent_pages(); expected name data_get_admin_page_parent_returns_explicit_parent_page.
  • tests/phpunit/tests/admin/includes/plugin/getAdminPageParent.php: test_get_admin_page_parent_detects_parent_of_current_page() uses data_detected_parent_pages(); expected name data_get_admin_page_parent_detects_parent_of_current_page.
  • tests/phpunit/tests/admin/includes/plugin/getAdminPageParent.php: test_get_admin_page_parent_returns_empty_string_without_parent() uses data_pages_without_parent(); expected name data_get_admin_page_parent_returns_empty_string_without_parent.

r64377: Tests: Cover metadata lazy-loader behavior.

r64377 · GitHub · 2026-10-15

See #65819.
Followed up by r64401 (GitHub): Tests: Trim repeated metadata lazy-loader test cases.

  • tests/phpunit/tests/meta/wpMetadataLazyloader.php: test_invalid_object_type_returns_wp_error() uses data_invalid_object_types(); expected name data_invalid_object_type_returns_wp_error.
  • tests/phpunit/tests/meta/wpMetadataLazyloader.php: test_lazyload_meta_callback_primes_cache_of_queued_objects() uses data_check_values(); expected name data_lazyload_meta_callback_primes_cache_of_queued_objects.
  • tests/phpunit/tests/meta/wpMetadataLazyloader.php: test_lazyload_meta_callback_does_nothing_without_queued_objects_of_type() uses data_meta_types_without_queued_objects(); expected name data_lazyload_meta_callback_does_nothing_without_queued_objects_of_type.

r64378: Tests: Cover HTTP proxy configuration and routing.

r64378 · GitHub · 2026-10-15

See #65819.

  • tests/phpunit/tests/http/wpHttpProxy.php: test_proxy_is_disabled_with_incomplete_constants() uses data_incomplete_constants(); expected name data_proxy_is_disabled_with_incomplete_constants.
  • tests/phpunit/tests/http/wpHttpProxy.php: test_send_through_proxy_can_be_short_circuited() uses data_pre_send_through_proxy(); expected name data_send_through_proxy_can_be_short_circuited.

r64380: Tests: Cover page dropdown walker output.

r64380 · GitHub · 2026-10-15

See #65819.

  • tests/phpunit/tests/post/walkerPageDropdown.php: test_start_el_displays_escaped_title() uses data_page_titles(); expected name data_start_el_displays_escaped_title.
  • tests/phpunit/tests/post/walkerPageDropdown.php: test_start_el_applies_list_pages_filter() uses data_titles_for_list_pages_filter(); expected name data_start_el_applies_list_pages_filter.

r64381: Tests: Cover category checklist walker output.

r64381 · GitHub · 2026-10-15

See #65819.
Followed up by r64398 (GitHub): Tests: Clarify category checklist walker assertion messages.

  • tests/phpunit/tests/admin/walkerCategoryChecklist.php: test_start_el_in_list_only_mode() uses data_list_only_items(); expected name data_start_el_in_list_only_mode.
  • tests/phpunit/tests/admin/walkerCategoryChecklist.php: test_start_el_generates_checkbox() uses data_checkbox_items(); expected name data_start_el_generates_checkbox.
  • tests/phpunit/tests/admin/walkerCategoryChecklist.php: test_start_el_filters_and_escapes_category_name() uses data_list_only_modes(); expected name data_start_el_filters_and_escapes_category_name.

r64382: Tests: Cover Meta widget output and settings.

r64382 · GitHub · 2026-10-15

See #65819.

  • tests/phpunit/tests/widgets/wpWidgetMeta.php: test_widget_displays_title() uses data_widget_titles(); expected name data_widget_displays_title.
  • tests/phpunit/tests/widgets/wpWidgetMeta.php: test_widget_navigation_wrapper() uses data_navigation_formats(); expected name data_widget_navigation_wrapper.
  • tests/phpunit/tests/widgets/wpWidgetMeta.php: test_widget_navigation_label_strips_markup() uses data_filtered_titles_with_markup(); expected name data_widget_navigation_label_strips_markup.

r64386: Interactivity API: Add server-side processing for the data-wp-html directive.

r64386 · GitHub · 2026-10-16

Fixes #66246.
Followed up by r64501 (GitHub): Interactivity API: Print data-wp-html tokens as the wpServerHtml marker; r65343 (GitHub): Interactivity API: Align server-side data-wp-html processing with client behavior.

  • tests/phpunit/tests/interactivity-api/wpInteractivityAPI-wp-html.php: test_token_reaches_the_output_only_as_host_content() uses data_ways_to_reach_a_token(); expected name data_token_reaches_the_output_only_as_host_content.
  • tests/phpunit/tests/interactivity-api/wpInteractivityAPI-wp-html.php: test_html_strings_render_byte_for_byte() uses data_html_strings(); expected name data_html_strings_render_byte_for_byte.

r64388: Abilities API: Add the core/content-query ability.

r64388 · GitHub · 2026-10-16

Fixes #66268.
Followed up by r64680 (GitHub): Abilities API: Replace the author_slug filter of core/content-query with an author object; r64688 (GitHub): Abilities API: Name the author of a core/content-query post only to users who may see them; r64690 (GitHub): Code Modernization: Use array_any() and array_all() more widely; r64907 (GitHub): Abilities API: Rename the local date sub-field of core/content-query to site.

  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_does_not_expose_a_post_type_with_a_show_in_abilities_value_other_than_true() uses data_show_in_abilities_values_other_than_true(); expected name data_does_not_expose_a_post_type_with_a_show_in_abilities_value_other_than_true; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_ids_or_slugs_that_match_no_post_return_the_empty_result() uses data_where_values_that_match_no_post(); expected name data_ids_or_slugs_that_match_no_post_return_the_empty_result; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_viewable_custom_status_is_readable_by_subscribers() uses data_filters_naming_a_post_in_a_viewable_custom_status(); expected name data_viewable_custom_status_is_readable_by_subscribers; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_slugs_return_a_newer_draft_sharing_the_slug_only_to_roles_that_can_read_it() uses data_roles_with_and_without_access_to_others_drafts(); expected name data_slugs_return_a_newer_draft_sharing_the_slug_only_to_roles_that_can_read_it; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_sub_field_path_returns_only_that_sub_field() uses data_sub_field_paths(); expected name data_sub_field_path_returns_only_that_sub_field; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_whole_object_returns_every_key_to_a_user_who_can_edit_the_post() uses data_object_fields(); expected name data_whole_object_returns_every_key_to_a_user_who_can_edit_the_post; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_subscriber_cannot_request_statuses_that_require_edit_access() uses data_statuses_that_require_edit_access(); expected name data_subscriber_cannot_request_statuses_that_require_edit_access; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_ids_without_a_status_cover_the_statuses_each_role_may_query() uses data_default_statuses_with_ids_by_role(); expected name data_ids_without_a_status_cover_the_statuses_each_role_may_query; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_post_context_is_restored_when_a_the_post_callback_throws() uses data_posts_whose_the_post_callbacks_throw(); expected name data_post_context_is_restored_when_a_the_post_callback_throws; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_query_honors_a_page_and_per_page_that_are_not_integers() uses data_whole_numbers_that_are_not_integers(); expected name data_query_honors_a_page_and_per_page_that_are_not_integers; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_query_counts_pages_with_the_page_size_the_query_ran_with() uses data_page_sizes_set_by_a_query_filter(); expected name data_query_counts_pages_with_the_page_size_the_query_ran_with; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_query_rendered_fields_prime_the_post_meta_cache() uses data_fields_that_prime_post_meta(); expected name data_query_rendered_fields_prime_the_post_meta_cache; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_malformed_date_is_null() uses data_date_fields(); expected name data_malformed_date_is_null; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_execute_callback_rejects_ids_with_no_valid_ids() uses data_ids_with_no_valid_ids(); expected name data_execute_callback_rejects_ids_with_no_valid_ids; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_execute_callback_rejects_slugs_with_no_slug_left() uses data_slugs_with_no_slug_left(); expected name data_execute_callback_rejects_slugs_with_no_slug_left; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_execute_callback_rejects_statuses_that_cannot_be_queried() uses data_where_filters_with_statuses_that_cannot_be_queried(); expected name data_execute_callback_rejects_statuses_that_cannot_be_queried; provider is above the test.

r64393: Tests: Expand post sitemap provider coverage.

r64393 · GitHub · 2026-10-16

See #65819.

  • tests/phpunit/tests/sitemaps/wpSitemapsPosts.php: test_get_url_list_returns_empty_array_for_unsupported_post_type() uses data_unsupported_post_types(); expected name data_get_url_list_returns_empty_array_for_unsupported_post_type.
  • tests/phpunit/tests/sitemaps/wpSitemapsPosts.php: test_get_max_num_pages_without_posts_depends_on_show_on_front() uses data_show_on_front(); expected name data_get_max_num_pages_without_posts_depends_on_show_on_front.

r64395: Tests: Cover preservation of an existing admin parent file.

r64395 · GitHub · 2026-10-16

See #65819.
Follow-up to r64374 (GitHub).

  • tests/phpunit/tests/admin/includes/plugin/getAdminPageParent.php: test_get_admin_page_parent_preserves_existing_parent_file() uses data_pages_without_parent_with_parent_file(); expected name data_get_admin_page_parent_preserves_existing_parent_file.

r64396: Tests: Cover zero-slug category dropdown selection.

r64396 · GitHub · 2026-10-16

See #65819.
Follow-up to r64379 (GitHub).

  • tests/phpunit/tests/category/walkerCategoryDropdown.php: test_start_el_compares_zero_slug_as_string() uses data_start_el_with_zero_slug(); expected name data_start_el_compares_zero_slug_as_string.

r64397: Tests: Clarify the allowed-options data provider name.

r64397 · GitHub · 2026-10-16

See #65819.
Follow-up to r64375 (GitHub).

  • tests/phpunit/tests/admin/includes/plugin/allowedOptions.php: test_option_update_filter_returns_options_unchanged_without_new_allowed_options() uses data_new_allowed_options_without_additions(); expected name data_option_update_filter_returns_options_unchanged_without_new_allowed_options.

r64402: Rewrite Rules: Add support for random content redirects.

r64402 · GitHub · 2026-10-16

See #64498.
Follow-up to r63767 (GitHub), r63906 (GitHub).
Followed up by r64405 (GitHub): Fix DB Version; r64690 (GitHub): Code Modernization: Use array_any() and array_all() more widely; r65042 (GitHub): Rewrites: Reinstate split the query for random redirects; r65250 (GitHub): Rewrites: Avoid fatal errors when flushing rules for random content; r65440 (GitHub): Rewrite Rules: Always redirect random content requests; r65441 (GitHub): Rewrite Rules: Give top rewrite rules priority over random content rules.

  • tests/phpunit/tests/query/randomContentRedirect.php: test_random_redirect_excludes_ineligible_posts() uses data_ineligible_posts(); expected name data_random_redirect_excludes_ineligible_posts.
  • tests/phpunit/tests/query/randomContentRedirect.php: test_no_redirect_for_feeds() uses data_feed_urls(); expected name data_no_redirect_for_feeds.
  • tests/phpunit/tests/query/randomContentRedirect.php: test_no_redirect_for_non_get_requests() uses data_non_redirecting_http_methods(); expected name data_no_redirect_for_non_get_requests.
  • tests/phpunit/tests/query/randomContentRedirect.php: test_redirect_for_get_and_head_requests() uses data_redirecting_http_methods(); expected name data_redirect_for_get_and_head_requests.
  • tests/phpunit/tests/query/randomContentRedirect.php: test_random_content_redirects_resume_when_the_page_no_longer_conflicts() uses data_page_named_random_changes(); expected name data_random_content_redirects_resume_when_the_page_no_longer_conflicts.
  • tests/phpunit/tests/query/randomContentRedirect.php: test_random_query_is_limited_to_one_post_when_a_theme_overrides_the_limit() uses data_query_vars_overriding_the_limit(); expected name data_random_query_is_limited_to_one_post_when_a_theme_overrides_the_limit.
  • tests/phpunit/tests/query/randomContentRedirect.php: test_wp_is_random_content_redirect_enabled_returns_a_boolean() uses data_enabled_filter_values(); expected name data_wp_is_random_content_redirect_enabled_returns_a_boolean.
  • tests/phpunit/tests/query/randomContentRedirect.php: test_no_redirect_for_paths_without_random_rules() uses data_unsupported_random_paths(); expected name data_no_redirect_for_paths_without_random_rules.
  • tests/phpunit/tests/query/randomContentRedirect.php: test_main_query_is_run_once_for_random_requests() uses data_random_requests(); expected name data_main_query_is_run_once_for_random_requests.
  • tests/phpunit/tests/rewrite/randomRewriteRules.php: test_core_random_rewrite_rules_are_registered() uses data_core_random_rewrite_rules(); expected name data_core_random_rewrite_rules_are_registered.
  • tests/phpunit/tests/rewrite/randomRewriteRules.php: test_random_root_rule_is_kept_for_pages_that_do_not_conflict() uses data_pages_that_do_not_conflict(); expected name data_random_root_rule_is_kept_for_pages_that_do_not_conflict.
  • tests/phpunit/tests/rewrite/randomRewriteRules.php: test_random_root_rule_is_kept_for_posts_that_do_not_conflict() uses data_posts_that_do_not_conflict(); expected name data_random_root_rule_is_kept_for_posts_that_do_not_conflict.

r64403: Tests: Cover KSES attribute value validation.

r64403 · GitHub · 2026-10-16

See #65819.

  • tests/phpunit/tests/kses/wpKsesCheckAttrVal.php: test_wp_kses_check_attr_val() uses data_attribute_value_checks(); expected name data_wp_kses_check_attr_val.

r64411: Tests: Cover HTTP encoding and compression helpers.

r64411 · GitHub · 2026-10-16

See #65819.

  • tests/phpunit/tests/http/wpHttpEncoding.php: test_decompress() uses data_compressed_content(); expected name data_decompress.
  • tests/phpunit/tests/http/wpHttpEncoding.php: test_decompress_returns_uncompressed_content_unchanged() uses data_content_that_is_not_compressed(); expected name data_decompress_returns_uncompressed_content_unchanged.
  • tests/phpunit/tests/http/wpHttpEncoding.php: test_compatible_gzinflate_decodes_gzip_streams() uses data_gzip_streams(); expected name data_compatible_gzinflate_decodes_gzip_streams.
  • tests/phpunit/tests/http/wpHttpEncoding.php: test_compatible_gzinflate_returns_false_for_invalid_data() uses data_invalid_gzip_streams(); expected name data_compatible_gzinflate_returns_false_for_invalid_data.

r64412: Tests: Add coverage for WP_Recovery_Mode.

r64412 · GitHub · 2026-10-16

See #65819.

  • tests/phpunit/tests/error-protection/wpRecoveryMode.php: test_handle_error_returns_invalid_source_without_extension() uses data_errors_without_extension(); expected name data_handle_error_returns_invalid_source_without_extension.
  • tests/phpunit/tests/error-protection/wpRecoveryMode.php: test_handle_exit_recovery_mode_ignores_other_actions() uses data_non_exit_actions(); expected name data_handle_exit_recovery_mode_ignores_other_actions.
  • tests/phpunit/tests/error-protection/wpRecoveryMode.php: test_handle_exit_recovery_mode_dies_on_invalid_nonce() uses data_invalid_exit_nonces(); expected name data_handle_exit_recovery_mode_dies_on_invalid_nonce.

r64414: Tests: Add coverage for paused-theme recovery helpers.

r64414 · GitHub · 2026-10-16

See #65819.

  • tests/phpunit/tests/admin/includes/theme/themePausedState.php: test_resume_theme_redirects_and_loads_functions_file() uses data_resume_theme_redirects(); expected name data_resume_theme_redirects_and_loads_functions_file.

r64415: Tests: Add coverage for WP_Fatal_Error_Handler.

r64415 · GitHub · 2026-10-16

See #65819.

  • tests/phpunit/tests/error-protection/wpFatalErrorHandler.php: test_should_handle_error_uses_filter_for_other_error_types() uses data_should_handle_error_filter_values(); expected name data_should_handle_error_uses_filter_for_other_error_types.
  • tests/phpunit/tests/error-protection/wpFatalErrorHandler.php: test_display_default_error_template_message() uses data_default_error_template_messages(); expected name data_display_default_error_template_message.

r64416: Tests: Add coverage for bookmark sanitization.

r64416 · GitHub · 2026-10-16

See #65819.

  • tests/phpunit/tests/bookmark/sanitizeBookmarkField.php: test_link_category_is_array_of_integers() uses data_link_category_values(); expected name data_link_category_is_array_of_integers.
  • tests/phpunit/tests/bookmark/sanitizeBookmarkField.php: test_link_visible_keeps_only_y_and_n() uses data_link_visible_values(); expected name data_link_visible_keeps_only_y_and_n.
  • tests/phpunit/tests/bookmark/sanitizeBookmarkField.php: test_link_target_only_accepts_known_targets() uses data_link_target_values(); expected name data_link_target_only_accepts_known_targets.

r64417: Tests: Add coverage for wp_sprintf() and wp_sprintf_l().

r64417 · GitHub · 2026-10-16

See #65819.

  • tests/phpunit/tests/formatting/wpSprintf.php: test_wp_sprintf_formats_lists() uses data_wp_sprintf_l(); expected name data_wp_sprintf_formats_lists.
  • tests/phpunit/tests/formatting/wpSprintf.php: test_wp_sprintf_l() uses data_wp_sprintf_l_patterns(); expected name data_wp_sprintf_l.

r64420: Tests: Add coverage for WP_Nav_Menu_Widget.

r64420 · GitHub · 2026-10-16

See #65819.

  • tests/phpunit/tests/widgets/wpNavMenuWidget.php: test_widget_outputs_nothing_without_valid_menu() uses data_widget_invalid_nav_menu(); expected name data_widget_outputs_nothing_without_valid_menu.
  • tests/phpunit/tests/widgets/wpNavMenuWidget.php: test_widget_applies_widget_nav_menu_args_filter() uses data_widget_nav_menu_args(); expected name data_widget_applies_widget_nav_menu_args_filter.

r64421: Tests: Add coverage for WP_Widget_Block.

r64421 · GitHub · 2026-10-16

See #65819.

  • tests/phpunit/tests/widgets/wpWidgetBlock.php: test_widget_dynamic_classname() uses data_dynamic_classname(); expected name data_widget_dynamic_classname.

r64422: Tests: Add coverage for WP_Widget_Links.

r64422 · GitHub · 2026-10-16

See #65819.

  • tests/phpunit/tests/widgets/wpWidgetLinks.php: test_widget_applies_widget_links_args_filter() uses data_widget_links_args(); expected name data_widget_applies_widget_links_args_filter.

r64424: Tests: Add coverage for get_the_category_list().

r64424 · GitHub · 2026-10-16

See #65819.

  • tests/phpunit/tests/category/getTheCategoryList.php: test_builds_unordered_list_without_separator() uses data_parents_in_list(); expected name data_builds_unordered_list_without_separator.
  • tests/phpunit/tests/category/getTheCategoryList.php: test_joins_links_with_separator() uses data_parents_with_separator(); expected name data_joins_links_with_separator.

r64425: Tests: Cover updated and removed oEmbed providers.

r64425 · GitHub · 2026-10-16

See #65819, #66079, #66078.

  • tests/phpunit/tests/oembed/wpOembed.php: test_get_provider_uses_legacy_reverbnation_endpoint() uses data_reverbnation_urls(); expected name data_get_provider_uses_legacy_reverbnation_endpoint.
  • tests/phpunit/tests/oembed/wpOembed.php: test_get_provider_does_not_match_someecards() uses data_someecards_urls(); expected name data_get_provider_does_not_match_someecards.

r64427: Tests: Cover default tag-cloud count scaling.

r64427 · GitHub · 2026-10-16

See #65819.

  • tests/phpunit/tests/term/defaultTopicCountScale.php: test_scales_count_logarithmically() uses data_counts(); expected name data_scales_count_logarithmically.

r64429: Tests: Cover unapproved comment author email lookup.

r64429 · GitHub · 2026-10-16

See #65819.

  • tests/phpunit/tests/comment/wpGetUnapprovedCommentAuthorEmail.php: test_falls_back_to_commenter_cookie() uses data_invalid_moderation_query_args(); expected name data_falls_back_to_commenter_cookie.

r64431: Bootstrap/Load: Recognize network plugins in recovery mode.

r64431 · GitHub · 2026-10-16

Fixes #66328.

  • tests/phpunit/tests/error-protection/wpRecoveryModeNetworkPlugins.php: test_handle_error_rejects_error_from_network_activated_plugin() uses data_network_activated_plugins(); expected name data_handle_error_rejects_error_from_network_activated_plugin.
  • tests/phpunit/tests/error-protection/wpRecoveryModeNetworkPlugins.php: test_handle_error_does_not_reject_error_from_other_plugin() uses data_plugins_that_are_not_network_activated(); expected name data_handle_error_does_not_reject_error_from_other_plugin.

r64432: Connectors: Match the settings route the way the REST server does.

r64432 · GitHub · 2026-10-16

Fixes #66330.
Follow-up to r61749 (GitHub), r62684 (GitHub).

  • tests/phpunit/tests/connectors/wpConnectorsRestSettingsDispatch.php: test_masks_credentials_for_every_settings_route_spelling() uses data_settings_route_spellings(); expected name data_masks_credentials_for_every_settings_route_spelling; 1 method between the test and the provider.
  • tests/phpunit/tests/connectors/wpConnectorsRestSettingsDispatch.php: test_settings_endpoint_masks_credentials_for_every_rest_route_spelling() uses data_settings_rest_route_query_values(); expected name data_settings_endpoint_masks_credentials_for_every_rest_route_spelling; 1 method between the test and the provider.

r64433: REST API: Add the homepage and posts page action links to pages.

r64433 · GitHub · 2026-10-16

Fixes #66327.
Follow-up to r64343 (GitHub).

  • tests/phpunit/tests/rest-api/rest-pages-controller.php: test_homepage_action_links_do_not_exist_for_unpublished_pages() uses data_unpublished_page_statuses(); expected name data_homepage_action_links_do_not_exist_for_unpublished_pages.

r64454: Tests: Add coverage for WP_Importer and get_cli_args().

r64454 · GitHub · 2026-10-17

See #65819.

  • tests/phpunit/tests/admin/wpImporter.php: test_set_blog_switches_to_blog_on_multisite() uses data_set_blog_on_multisite(); expected name data_set_blog_switches_to_blog_on_multisite.
  • tests/phpunit/tests/admin/wpImporter.php: test_get_page_request() uses data_get_page_requests(); expected name data_get_page_request.
  • tests/phpunit/tests/admin/wpImporter.php: test_is_user_over_quota_on_multisite() uses data_quota_usage(); expected name data_is_user_over_quota_on_multisite.

r64456: Tests: Add coverage for get_category().

r64456 · GitHub · 2026-10-17

See #65819.

  • tests/phpunit/tests/category/getCategory.php: test_returns_wp_error_for_empty_category() uses data_empty_category_values(); expected name data_returns_wp_error_for_empty_category.

r64461: Tests: Add coverage for sanitize_category_field().

r64461 · GitHub · 2026-10-17

See #65819.

  • tests/phpunit/tests/category/sanitizeCategoryField.php: test_raw_context_returns_value_unfiltered() uses data_raw_contexts(); expected name data_raw_context_returns_value_unfiltered.

r64469: Tests: Add coverage for wp_get_code_editor_settings().

r64469 · GitHub · 2026-10-17

See #65819.

  • tests/phpunit/tests/general/wpGetCodeEditorSettings.php: test_codemirror_settings_for_mime_type() uses data_mime_types(); expected name data_codemirror_settings_for_mime_type.
  • tests/phpunit/tests/general/wpGetCodeEditorSettings.php: test_codemirror_mode_for_file() uses data_file_names(); expected name data_codemirror_mode_for_file.
  • tests/phpunit/tests/general/wpGetCodeEditorSettings.php: test_jshint_module_for_mjs_files() uses data_module_files(); expected name data_jshint_module_for_mjs_files.
  • tests/phpunit/tests/general/wpGetCodeEditorSettings.php: test_htmlhint_kses_rules_for_html() uses data_unfiltered_html(); expected name data_htmlhint_kses_rules_for_html.

r64470: Tests: Add coverage for in_category().

r64470 · GitHub · 2026-10-17

See #65819.

  • tests/phpunit/tests/category/inCategory.php: test_returns_false_when_category_is_empty() uses data_empty_categories(); expected name data_returns_false_when_category_is_empty.

r64472: Tests: Add coverage for image_edit_apply_changes().

r64472 · GitHub · 2026-10-17

See #65819.

  • tests/phpunit/tests/image/imageEditApplyChanges.php: test_returns_image_unchanged_when_changes_are_not_an_array() uses data_changes_that_are_not_an_array(); expected name data_returns_image_unchanged_when_changes_are_not_an_array.
  • tests/phpunit/tests/image/imageEditApplyChanges.php: test_applies_changes_to_editor() uses data_changes(); expected name data_applies_changes_to_editor.

r64486: Script Loader: Remove the unused compression test.

r64486 · GitHub · 2026-10-18

Fixes #58302, #65750, #65980.
See #57548, #63017.
Follow-up to r10357 (GitHub), r43580 (GitHub), r64485 (GitHub).

  • tests/phpunit/tests/multisite/upgradeNetwork.php: test_can_compress_scripts_is_deleted_below_its_db_version() uses data_can_compress_scripts_deletion(); expected name data_can_compress_scripts_is_deleted_below_its_db_version.

r64488: Editor: Add emoji reactions ❤️ 🎉 😄 👀 🚀

r64488 · GitHub · 2026-10-18

Fixes #64638.
Followed up by r64999 (GitHub): Editor: Add thumbs up and plus note reactions; r65038 (GitHub): Comments: Use the note permission check when deleting reactions; r65222 (GitHub): REST API: Only let a reaction’s author delete it.

  • tests/phpunit/tests/admin/wpCommentsListTable.php: test_comments_list_table_does_not_show_internal_comment_types() uses data_comment_type(); expected name data_comments_list_table_does_not_show_internal_comment_types.
  • tests/phpunit/tests/rest-api/rest-comments-controller.php: test_create_reaction_accepts_curated_key() uses data_curated_reaction_keys(); expected name data_create_reaction_accepts_curated_key.
  • tests/phpunit/tests/rest-api/rest-comments-controller.php: test_create_reaction_rejects_uncurated_key() uses data_uncurated_reaction_keys(); expected name data_create_reaction_rejects_uncurated_key.
  • tests/phpunit/tests/rest-api/rest-comments-controller.php: test_create_reaction_rejects_invalid_content_object() uses data_invalid_reaction_content_objects(); expected name data_create_reaction_rejects_invalid_content_object.
  • tests/phpunit/tests/rest-api/rest-comments-controller.php: test_create_reaction_only_allows_approved_status() uses data_create_reaction_status(); expected name data_create_reaction_only_allows_approved_status.
  • tests/phpunit/tests/rest-api/rest-comments-controller.php: test_create_reaction_on_hidden_note() uses data_hidden_note_statuses(); expected name data_create_reaction_on_hidden_note.
  • tests/phpunit/tests/rest-api/rest-comments-controller.php: test_create_reaction_on_note_from_uneditable_post_does_not_reveal_its_status() uses data_other_post_note_states(); expected name data_create_reaction_on_note_from_uneditable_post_does_not_reveal_its_status.

r64489: Media: stop adding crossorigin attributes in the editor.

r64489 · GitHub · 2026-10-18

Fixes #65930.
See #65673.
Follow-up to r61844 (GitHub), r62048 (GitHub), r62819 (GitHub).

  • tests/phpunit/tests/media/wpCrossOriginIsolation.php: test_deprecated_attribute_injector_returns_html_unchanged() uses data_cross_origin_elements(); expected name data_deprecated_attribute_injector_returns_html_unchanged.

r64500: Abilities API: Allow declaring required capabilities

r64500 · GitHub · 2026-10-19

Fixes #66325.
Followed up by r64690 (GitHub): Code Modernization: Use array_any() and array_all() more widely.

  • tests/phpunit/tests/abilities-api/wpAbility.php: test_required_capabilities_default_to_empty_array() uses data_required_capabilities_default_to_empty_array(); provider is above the test.
  • tests/phpunit/tests/abilities-api/wpAbility.php: test_invalid_required_capabilities_throw_exception() uses data_invalid_required_capabilities(); expected name data_invalid_required_capabilities_throw_exception; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpAbility.php: test_check_permissions_with_required_capabilities() uses data_check_permissions_with_required_capabilities(); provider is above the test.
  • tests/phpunit/tests/abilities-api/wpAbility.php: test_check_permissions_custom_class_without_valid_permission_check() uses data_check_permissions_custom_class_without_valid_permission_check(); provider is above the test.
  • tests/phpunit/tests/abilities-api/wpGetAbilities.php: test_filter_by_has_required_capabilities() uses data_filter_by_has_required_capabilities(); provider is above the test.

r64510: Tests: Cover internal host and link helpers.

r64510 · GitHub · 2026-10-19

See #65819.
Followed up by r64607 (GitHub): Docs: Correct the @param tag in a wp_is_internal_link() test.

  • tests/phpunit/tests/link/wpIsInternalLink.php: test_wp_is_internal_link_returns_true_for_internal_urls() uses data_internal_links(); expected name data_wp_is_internal_link_returns_true_for_internal_urls.
  • tests/phpunit/tests/link/wpIsInternalLink.php: test_wp_is_internal_link_returns_false_for_external_urls() uses data_external_links(); expected name data_wp_is_internal_link_returns_false_for_external_urls.

r64513: Tests: Cover wp_is_jsonp_request().

r64513 · GitHub · 2026-10-19

See #65819.

  • tests/phpunit/tests/load/wpIsJsonpRequest.php: test_returns_false_for_invalid_jsonp_callback() uses data_invalid_jsonp_callbacks(); expected name data_returns_false_for_invalid_jsonp_callback.

r64514: Tests: Cover wp_is_json_request().

r64514 · GitHub · 2026-10-19

See #65819.

  • tests/phpunit/tests/load/wpIsJsonRequest.php: test_returns_true_for_json_accept_header() uses data_json_accept_headers(); expected name data_returns_true_for_json_accept_header.
  • tests/phpunit/tests/load/wpIsJsonRequest.php: test_returns_true_for_json_content_type() uses data_json_content_types(); expected name data_returns_true_for_json_content_type.

r64515: Tests: Cover the_title_attribute().

r64515 · GitHub · 2026-10-19

See #65819.

  • tests/phpunit/tests/post/theTitleAttribute.php: test_returns_title_when_echo_is_false() uses data_echo_false_arguments(); expected name data_returns_title_when_echo_is_false.

r64516: Tests: Cover wp_is_xml_request().

r64516 · GitHub · 2026-10-19

See #65819.

  • tests/phpunit/tests/load/wpIsXmlRequest.php: test_returns_true_for_xml_accept_header() uses data_xml_accept_headers(); expected name data_returns_true_for_xml_accept_header.
  • tests/phpunit/tests/load/wpIsXmlRequest.php: test_returns_true_for_xml_content_type() uses data_xml_content_types(); expected name data_returns_true_for_xml_content_type.

r64532: Tests: Cover wp_is_file_mod_allowed().

r64532 · GitHub · 2026-10-19

See #65819.

  • tests/phpunit/tests/load/wpIsFileModAllowed.php: test_passes_context_to_filter() uses data_contexts(); expected name data_passes_context_to_filter.

r64534: Tests: Cover suggested privacy policy content updates.

r64534 · GitHub · 2026-10-19

See #65819.

  • tests/phpunit/tests/privacy/wpPrivacyPolicyContentGetSuggestedPolicyText.php: test_leaves_out_incomplete_entries() uses data_incomplete_entries(); expected name data_leaves_out_incomplete_entries.

r64540: Tests: Cover wp_get_environment_type().

r64540 · GitHub · 2026-10-19

See #65819.

  • tests/phpunit/tests/load/wpGetEnvironmentType.php: test_returns_valid_environment_type_from_constant() uses data_valid_environment_types(); expected name data_returns_valid_environment_type_from_constant.

r64547: Tests: Cover the_shortlink().

r64547 · GitHub · 2026-10-19

See #65819.

  • tests/phpunit/tests/link/theShortlink.php: test_the_shortlink_custom_text() uses data_custom_text(); expected name data_the_shortlink_custom_text; 5 methods between the test and the provider.

r64549: Tests: Cover get_search_link().

r64549 · GitHub · 2026-10-19

See #65819.

  • tests/phpunit/tests/link/getSearchLink.php: test_get_search_link_plain_permastruct() uses data_plain_permastruct_queries(); expected name data_get_search_link_plain_permastruct.
  • tests/phpunit/tests/link/getSearchLink.php: test_get_search_link_pretty_permastruct() uses data_pretty_permastruct_queries(); expected name data_get_search_link_pretty_permastruct.

r64564: Tests: Test user edit links.

r64564 · GitHub · 2026-10-19

See #65819.

  • tests/phpunit/tests/link/getEditUserLink.php: test_get_edit_user_link_non_existent_user() uses data_non_existent_user_ids(); expected name data_get_edit_user_link_non_existent_user.
  • tests/phpunit/tests/link/getEditUserLink.php: test_get_edit_user_link_falsy_id_falls_back_to_current_user() uses data_falsy_user_ids(); expected name data_get_edit_user_link_falsy_id_falls_back_to_current_user.

r64565: Tests: Test comment edit link output.

r64565 · GitHub · 2026-10-19

See #65819.

  • tests/phpunit/tests/link/editCommentLink.php: test_should_prepend_and_append_markup() uses data_before_and_after_markup(); expected name data_should_prepend_and_append_markup.

r64568: Tests: Cover tag retrieval.

r64568 · GitHub · 2026-10-19

See #65819.

  • tests/phpunit/tests/category/getTags.php: test_supports_fields_argument() uses data_fields_argument(); expected name data_supports_fields_argument.

r64569: Tests: Cover media state labels.

r64569 · GitHub · 2026-10-19

See #65819.

  • tests/phpunit/tests/admin/includes/template/getMediaStates.php: test_header_video_state() uses data_header_video_states(); expected name data_header_video_state.

r64570: Tests: Cover JSONP callback edge cases.

r64570 · GitHub · 2026-10-19

See #65819.

  • tests/phpunit/tests/functions/wpCheckJsonpCallback.php: test_returns_true_for_valid_callbacks() uses data_valid_callbacks(); expected name data_returns_true_for_valid_callbacks.
  • tests/phpunit/tests/functions/wpCheckJsonpCallback.php: test_returns_false_for_invalid_callbacks() uses data_invalid_callbacks(); expected name data_returns_false_for_invalid_callbacks.

r64581: Editor: Register the core entity fields on the server.

r64581 · GitHub · 2026-10-19

Fixes #66229.
Follow-up to r64528 (GitHub).

  • tests/phpunit/tests/entity-fields/wpRegisterCoreFieldCollections.php: test_a_default_field_of_every_post_type() uses data_default_fields_of_every_post_type(); expected name data_a_default_field_of_every_post_type; provider is above the test.
  • tests/phpunit/tests/entity-fields/wpRegisterCoreFieldCollections.php: test_a_default_field_follows_its_supports() uses data_default_fields_and_their_supports(); expected name data_a_default_field_follows_its_supports; provider is above the test.

r64583: Administration: Replace Dashicons in admin bar and sidebar with wp-icons.

r64583 · GitHub · 2026-10-19

Fixes #65089.
Followed up by r64798 (GitHub): Administration: Map Dashicons to replacement icons from the icon library manifest; r64799 (GitHub): Administration: Use SVG icons in the At a Glance widget; r65223 (GitHub): Toolbar: Hide legacy Dashicons when a node has an SVG icon.

  • tests/phpunit/tests/admin/wpColorSchemeMenuIconStyles.php: test_adds_nothing_for_other_schemes() uses data_schemes_without_icon_styles(); expected name data_adds_nothing_for_other_schemes.
  • tests/phpunit/tests/admin/wpMenuOutput.php: test_core_dashicon_is_rendered_as_svg_icon() uses data_replaced_dashicons(); expected name data_core_dashicon_is_rendered_as_svg_icon.
  • tests/phpunit/tests/admin/wpMenuOutput.php: test_other_icon_is_rendered_as_before() uses data_unchanged_icons(); expected name data_other_icon_is_rendered_as_before.
  • tests/phpunit/tests/icons/wpIsValidIconName.php: test_returns_true_for_namespaced_icon_names() uses data_icon_names(); expected name data_returns_true_for_namespaced_icon_names.
  • tests/phpunit/tests/icons/wpIsValidIconName.php: test_returns_false_for_other_values() uses data_values_that_are_not_icon_names(); expected name data_returns_false_for_other_values.

r64590: Editor: Add a background clip block support.

r64590 · GitHub · 2026-10-20

Fixes #66094.

  • tests/phpunit/tests/block-supports/states.php: test_text_clip_helpers_add_nothing_when_the_state_paints_its_own_background() uses data_state_styles_that_paint_their_own_background(); expected name data_text_clip_helpers_add_nothing_when_the_state_paints_its_own_background.
  • tests/phpunit/tests/block-supports/states.php: test_text_clip_escape_adds_nothing_without_a_base_text_clip() uses data_base_clips_that_are_not_text(); expected name data_text_clip_escape_adds_nothing_without_a_base_text_clip.
  • tests/phpunit/tests/block-supports/states.php: test_text_clip_helpers_treat_an_empty_state_clip_as_no_clip() uses data_empty_state_clips(); expected name data_text_clip_helpers_treat_an_empty_state_clip_as_no_clip.

r64592: Abilities API: Preserve empty objects in JSON results

r64592 · GitHub · 2026-10-20

See #66267.
Followed up by r64594 (GitHub): JSON Schema: Prepare default values according to their schemas; r64602 (GitHub): REST API: Use wp_prepare_json_value_for_client() for view configs and entity fields; r64728 (GitHub): Tests: Expand JSON Schema value preparation coverage; r65072 (GitHub): Abilities API: Encode empty object results as JSON objects.

  • tests/phpunit/tests/json-schema.php: test_nested_array_branch_preference() uses data_nested_array_branch_preference(); provider is above the test.
  • tests/phpunit/tests/rest-api/wpRestAbilitiesV1RunController.php: test_output_is_prepared_for_json_clients() uses data_output_is_prepared_for_json_clients(); provider is above the test.

r64608: Tests: Cover legacy widget settings conversion.

r64608 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/widgets/wpConvertWidgetSettings.php: test_keeps_multi_widget_settings() uses data_multi_widget_settings(); expected name data_keeps_multi_widget_settings.
  • tests/phpunit/tests/widgets/wpConvertWidgetSettings.php: test_converts_single_widget_settings_on_front_end() uses data_single_widget_settings(); expected name data_converts_single_widget_settings_on_front_end.

r64611: Tests: Cover automatic update eligibility decisions.

r64611 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/admin/wpAutomaticUpdaterShouldUpdate.php: test_sends_core_notification_when_core_cannot_be_updated() uses data_core_updates_that_cannot_run(); expected name data_sends_core_notification_when_core_cannot_be_updated.
  • tests/phpunit/tests/admin/wpAutomaticUpdaterShouldUpdate.php: test_allows_relaxed_file_ownership_only_for_core_without_new_files() uses data_relaxed_file_ownership(); expected name data_allows_relaxed_file_ownership_only_for_core_without_new_files.
  • tests/phpunit/tests/admin/wpAutomaticUpdaterShouldUpdate.php: test_auto_update_filter() uses data_filter_values(); expected name data_auto_update_filter.
  • tests/phpunit/tests/admin/wpAutomaticUpdaterShouldUpdate.php: test_core_update_follows_core_update_policy() uses data_core_update_policy(); expected name data_core_update_follows_core_update_policy.
  • tests/phpunit/tests/admin/wpAutomaticUpdaterShouldUpdate.php: test_core_update_requirements() uses data_core_requirements(); expected name data_core_update_requirements.

r64612: Tests: Expand category ancestry tests.

r64612 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/category/catIsAncestorOf.php: test_accepts_category_objects_and_ids() uses data_category_parameter_types(); expected name data_accepts_category_objects_and_ids.

r64613: Tests: Cover permalink anchor output.

r64613 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/link/permalinkAnchor.php: test_permalink_anchor_unrecognized_mode_falls_back_to_id() uses data_unrecognized_modes(); expected name data_permalink_anchor_unrecognized_mode_falls_back_to_id.

r64614: Tests: Cover navigation menu conditionals.

r64614 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/menu/isNavMenu.php: test_should_return_true_for_an_existing_menu() uses data_ways_to_identify_a_menu(); expected name data_should_return_true_for_an_existing_menu.
  • tests/phpunit/tests/menu/isNavMenu.php: test_should_return_false_for_an_unknown_menu() uses data_unknown_menus(); expected name data_should_return_false_for_an_unknown_menu.
  • tests/phpunit/tests/menu/isNavMenuItem.php: test_should_return_false_for_another_post_type() uses data_other_post_types(); expected name data_should_return_false_for_another_post_type.

r64626: Tests: Cover plugin header markup and translation.

r64626 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/admin/includes/plugin/getPluginDataMarkupTranslate.php: test_should_skip_markup_for_empty_fields() uses data_empty_markup_fields(); expected name data_should_skip_markup_for_empty_fields.
  • tests/phpunit/tests/admin/includes/plugin/getPluginDataMarkupTranslate.php: test_should_handle_plugin_without_text_domain() uses data_plugins_without_text_domain(); expected name data_should_handle_plugin_without_text_domain.
  • tests/phpunit/tests/admin/includes/plugin/getPluginDataMarkupTranslate.php: test_should_load_text_domain_from_plugin_directory() uses data_text_domain_paths(); expected name data_should_load_text_domain_from_plugin_directory.

r64628: Tests: Cover dispatch to the all hook.

r64628 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/hooks/wpCallAllHook.php: test_should_pass_hook_name_and_arguments_to_all_hook() uses data_hook_calls(); expected name data_should_pass_hook_name_and_arguments_to_all_hook.

r64629: Tests: Cover plugin dependency notices.

r64629 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/admin/wpPluginInstallListTableGetDependenciesNotice.php: test_should_return_empty_string_without_dependencies() uses data_no_dependencies(); expected name data_should_return_empty_string_without_dependencies.
  • tests/phpunit/tests/admin/wpPluginInstallListTableGetDependenciesNotice.php: test_should_fall_back_to_plugins_api_for_incomplete_dependency_data() uses data_incomplete_dependency_data(); expected name data_should_fall_back_to_plugins_api_for_incomplete_dependency_data.
  • tests/phpunit/tests/admin/wpPluginInstallListTableGetDependenciesNotice.php: test_should_list_dependency_by_slug_without_name() uses data_unnamed_api_responses(); expected name data_should_list_dependency_by_slug_without_name.

r64633: Tests: Cover post datetime and timestamp helpers.

r64633 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/date/getPostDatetime.php: test_get_post_datetime_returns_false_for_invalid_time() uses data_get_post_datetime_invalid_times(); expected name data_get_post_datetime_returns_false_for_invalid_time.

r64651: Tests: Cover plugin installation status.

r64651 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/admin/includes/plugin-install/InstallPluginInstallStatus_Test.php: test_should_return_install_when_plugin_directory_has_no_plugin() uses data_users_and_install_urls(); expected name data_should_return_install_when_plugin_directory_has_no_plugin.
  • tests/phpunit/tests/admin/includes/plugin-install/InstallPluginInstallStatus_Test.php: test_should_compare_installed_version_with_api_version() uses data_installed_versions(); expected name data_should_compare_installed_version_with_api_version.
  • tests/phpunit/tests/admin/includes/plugin-install/InstallPluginInstallStatus_Test.php: test_should_append_from_query_arg_to_url() uses data_from_query_arg(); expected name data_should_append_from_query_arg_to_url.

r64652: Tests: Cover plugin list table bulk actions.

r64652 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/admin/wpPluginsListTableGetBulkActions.php: test_should_return_bulk_actions_for_status() uses data_statuses(); expected name data_should_return_bulk_actions_for_status.

r64659: Tests: Cover AJAX plugin dependency checks.

r64659 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/ajax/wpAjaxCheckPluginDependencies.php: test_should_return_error_without_slug() uses data_empty_slugs(); expected name data_should_return_error_without_slug.

r64660: Tests: Cover plugin overwrite confirmation.

r64660 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/admin/pluginInstallerSkinDoOverwrite.php: test_should_return_false_when_not_overwriting() uses data_not_an_overwrite(); expected name data_should_return_false_when_not_overwriting.

r64661: Tests: Cover plugin package validation.

r64661 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/admin/pluginUpgraderCheckPackage.php: test_should_reject_package_without_plugin() uses data_packages_without_plugin(); expected name data_should_reject_package_without_plugin.

r64662: Tests: Cover plugin update notices.

r64662 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/admin/includes/update/wpPluginUpdateRow.php: test_should_choose_details_url() uses data_details_urls(); expected name data_should_choose_details_url.
  • tests/phpunit/tests/admin/includes/update/wpPluginUpdateRow.php: test_update_rows_should_not_hook_rows() uses data_no_update_rows(); expected name data_update_rows_should_not_hook_rows.

r64663: Tests: Cover update counts and titles.

r64663 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/functions/wpGetUpdateData.php: test_should_pluralize_titles() uses data_plugin_and_theme_counts(); expected name data_should_pluralize_titles.
  • tests/phpunit/tests/functions/wpGetUpdateData.php: test_should_count_core_update_by_response() uses data_core_responses(); expected name data_should_count_core_update_by_response.
  • tests/phpunit/tests/functions/wpGetUpdateData.php: test_should_count_translation_updates_once() uses data_update_transients(); expected name data_should_count_translation_updates_once.

r64665: Tests: Cover plugin debug information.

r64665 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/admin/wpDebugDataPlugins.php: test_plugins_should_pass_update_item_to_auto_update_filter() uses data_update_items(); expected name data_plugins_should_pass_update_item_to_auto_update_filter.

r64666: Tests: Cover circular plugin dependency detection.

r64666 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/admin/plugin-dependencies/getCircularDependencies.php: test_should_find_circular_dependencies() uses data_dependencies(); expected name data_should_find_circular_dependencies.

r64667: Tests: Cover Site Health plugin version checks.

r64667 · GitHub · 2026-10-20

See #65819.

  • tests/phpunit/tests/admin/wpSiteHealthGetTestPluginVersion.php: test_should_report_active_plugins_up_to_date() uses data_active_plugins(); expected name data_should_report_active_plugins_up_to_date.
  • tests/phpunit/tests/admin/wpSiteHealthGetTestPluginVersion.php: test_should_report_outdated_plugins() uses data_outdated_plugins(); expected name data_should_report_outdated_plugins.
  • tests/phpunit/tests/admin/wpSiteHealthGetTestPluginVersion.php: test_should_recommend_removing_inactive_plugins() uses data_inactive_plugins(); expected name data_should_recommend_removing_inactive_plugins.

r64680: Abilities API: Replace the author_slug filter of core/content-query with an author object.

r64680 · GitHub · 2026-10-22

See #66268.
Follow-up to r64388 (GitHub).
Followed up by r64688 (GitHub): Abilities API: Name the author of a core/content-query post only to users who may see them.

  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_execute_callback_rejects_an_author_filter_without_an_id_or_a_slug() uses data_author_filters_without_an_id_or_a_slug(); expected name data_execute_callback_rejects_an_author_filter_without_an_id_or_a_slug; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_execute_callback_rejects_an_author_id_that_is_not_a_positive_integer() uses data_author_ids_that_are_not_positive_integers(); expected name data_execute_callback_rejects_an_author_id_that_is_not_a_positive_integer; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_execute_callback_accepts_an_author_id_given_as_a_whole_number() uses data_author_id_whole_number_types(); expected name data_execute_callback_accepts_an_author_id_given_as_a_whole_number; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_execute_callback_reports_the_first_problem_of_an_author_filter() uses data_author_filters_with_several_problems(); expected name data_execute_callback_reports_the_first_problem_of_an_author_filter; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_execute_callback_rejects_an_author_slug_that_is_not_a_non_empty_string() uses data_author_slugs_that_are_not_non_empty_strings(); expected name data_execute_callback_rejects_an_author_slug_that_is_not_a_non_empty_string; provider is above the test.

r64688: Abilities API: Name the author of a core/content-query post only to users who may see them.

r64688 · GitHub · 2026-10-23

See #66268.
Follow-up to r64388 (GitHub), r64680 (GitHub).
Followed up by r65045 (GitHub): Abilities API: Restrict content-query author visibility to viewable post types.

  • tests/phpunit/tests/abilities-api/wpRegisterCoreContentAbility.php: test_author_name_and_slug_are_returned_to_users_who_may_see_the_author() uses data_author_visibility(); expected name data_author_name_and_slug_are_returned_to_users_who_may_see_the_author.

r64689: REST API: Let routes turn off _fields, _embed and response links.

r64689 · GitHub · 2026-10-23

Fixes #66372.
See #66267.
Followed up by r65046 (GitHub): REST API: Don’t list the data_processing settings in the index; r65072 (GitHub): Abilities API: Encode empty object results as JSON objects.

  • tests/phpunit/tests/rest-api/rest-controller.php: test_get_fields_for_response_respects_data_processing() uses data_get_fields_for_response_respects_data_processing(); provider is above the test.
  • tests/phpunit/tests/rest-api/rest-server.php: test_resolve_data_processing() uses data_resolve_data_processing(); provider is above the test.
  • tests/phpunit/tests/rest-api/rest-server.php: test_data_processing_false_serves_the_data_as_returned() uses data_data_processing_false_serves_the_data_as_returned(); provider is above the test.
  • tests/phpunit/tests/rest-api/rest-server.php: test_data_processing_links_false_leaves_out_the_links() uses data_data_processing_links_false_leaves_out_the_links(); provider is above the test.
  • tests/phpunit/tests/rest-api/rest-server.php: test_handler_setting_takes_precedence_over_route_setting() uses data_handler_setting_takes_precedence_over_route_setting(); provider is above the test.
  • tests/phpunit/tests/rest-api/rest-server.php: test_data_processing_applies_to_hijacked_responses() uses data_data_processing_applies_to_hijacked_responses(); provider is above the test.
  • tests/phpunit/tests/rest-api/rest-server.php: test_response_set_data_processing() uses data_response_set_data_processing(); provider is above the test.
  • tests/phpunit/tests/rest-api/rest-server.php: test_data_processing_applies_to_preloaded_requests() uses data_data_processing_applies_to_preloaded_requests(); provider is above the test.
  • tests/phpunit/tests/rest-api/rest-server.php: test_non_array_data_is_served_as_returned_by_default() uses data_non_array_data_is_served_as_returned_by_default(); provider is above the test.

r64728: Tests: Expand JSON Schema value preparation coverage

r64728 · GitHub · 2026-10-26

See #66267.
Follow-up to r64592 (GitHub).

  • tests/phpunit/tests/json-schema.php: test_wp_json_schema_matches_type() uses data_wp_json_schema_matches_type(); provider is above the test.

r64730: REST API: Introduce the rest_allowed_cors_methods filter.

r64730 · GitHub · 2026-10-26

Fixes #46992.
Follow-up to r56096 (GitHub).

  • tests/phpunit/tests/rest-api/rest-cors-headers.php: test_response_value_without_valid_methods_falls_back_to_the_default() uses data_response_value_without_valid_methods(); expected name data_response_value_without_valid_methods_falls_back_to_the_default.
  • tests/phpunit/tests/rest-api/rest-cors-headers.php: test_filter_value_that_is_not_a_list_is_ignored() uses data_filter_value_that_is_not_a_list(); expected name data_filter_value_that_is_not_a_list_is_ignored.

r64731: REST API: only include revisioned meta in revision responses.

r64731 · GitHub · 2026-10-26

Fixes #66329.

  • tests/phpunit/tests/rest-api/rest-revisions-controller.php: test_restoring_pattern_revision_keeps_sync_status() uses data_pattern_sync_statuses(); expected name data_restoring_pattern_revision_keeps_sync_status.

r64798: Administration: Map Dashicons to replacement icons from the icon library manifest.

r64798 · GitHub · 2026-10-27

See #65089.
Follow-up to r64583 (GitHub).

  • tests/phpunit/tests/icons/wpIconsRegistry.php: test_get_admin_icon_name_for_dashicon_returns_null_without_replacement() uses data_get_admin_icon_name_for_dashicon_without_replacement(); expected name data_get_admin_icon_name_for_dashicon_returns_null_without_replacement.

r64809: Tests: Add coverage for settings_fields().

r64809 · GitHub · 2026-10-27

See #65819.

  • tests/phpunit/tests/admin/includes/plugin/settingsFields.php: test_outputs_option_page_and_action_fields() uses data_option_groups(); expected name data_outputs_option_page_and_action_fields.
  • tests/phpunit/tests/admin/includes/plugin/settingsFields.php: test_outputs_valid_nonce_for_option_group() uses data_nonce_option_groups(); expected name data_outputs_valid_nonce_for_option_group.

r64977: Tests: Simplify registration and load helper coverage.

r64977 · GitHub · 2026-10-28

See #65819.

  • tests/phpunit/tests/load/timerFloat.php: test_returns_elapsed_seconds_as_float() uses data_request_ages(); expected name data_returns_elapsed_seconds_as_float.

r64994: Blocks: Fix advancement inside extract_full_block_and_advance().

r64994 · GitHub · 2026-10-28

See #66138.
Follow-up to r60939 (GitHub).

  • tests/phpunit/tests/block-processor/wpBlockProcessor.php: test_extracts_equivalent_parses_as_parse_blocks() uses data_various_block_posts(); expected name data_extracts_equivalent_parses_as_parse_blocks; 3 methods between the test and the provider.
  • tests/phpunit/tests/block-processor/wpBlockProcessor.php: test_extraction_stops_on_expected_token() uses data_extraction_stop_tokens(); expected name data_extraction_stops_on_expected_token; 1 method between the test and the provider.

r65002: Abilities API: Return the core/users-query registration date as registered.site and registered.gmt.

r65002 · GitHub · 2026-10-29

See #64657.
Follow-up to r64346 (GitHub).

  • tests/phpunit/tests/abilities-api/wpRegisterCoreUsersAbility.php: test_unknown_requested_field_fails_schema_validation() uses data_unknown_requested_fields(); expected name data_unknown_requested_field_fails_schema_validation.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreUsersAbility.php: test_zero_registered_date_sub_field_is_reported_as_null() uses data_registered_sub_field_paths(); expected name data_zero_registered_date_sub_field_is_reported_as_null.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreUsersAbility.php: test_registered_field_selection_returns_the_selected_dates() uses data_registered_field_selections(); expected name data_registered_field_selection_returns_the_selected_dates.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreUsersAbility.php: test_registered_dates_use_the_site_timezone_and_gmt() uses data_registered_dates_in_site_timezones(); expected name data_registered_dates_use_the_site_timezone_and_gmt.
  • tests/phpunit/tests/abilities-api/wpRegisterCoreUsersAbility.php: test_registered_is_only_returned_to_self_and_editors() uses data_registered_visibility(); expected name data_registered_is_only_returned_to_self_and_editors.

r65008: Tests: Cover REST pattern-property schema matching.

r65008 · GitHub · 2026-10-29

See #65819.

  • tests/phpunit/tests/rest-api/restFindMatchingPatternPropertySchema.php: test_returns_schema_of_matching_pattern() uses data_matching_pattern_properties(); expected name data_returns_schema_of_matching_pattern.
  • tests/phpunit/tests/rest-api/restFindMatchingPatternPropertySchema.php: test_returns_null_without_matching_pattern() uses data_no_matching_pattern_properties(); expected name data_returns_null_without_matching_pattern.

r65009: Tests: Cover login links and template titles.

r65009 · GitHub · 2026-10-29

See #65819.

  • tests/phpunit/tests/general/singleMonthTitle.php: test_returns_month_title() uses data_month_titles(); expected name data_returns_month_title.
  • tests/phpunit/tests/general/singleMonthTitle.php: test_returns_false_without_month() uses data_no_month(); expected name data_returns_false_without_month.
  • tests/phpunit/tests/general/singlePostTitle.php: test_returns_title_on_singular_views() uses data_singular_titles(); expected name data_returns_title_on_singular_views.
  • tests/phpunit/tests/general/wpLoginout.php: test_login_link_when_logged_out() uses data_login_link(); expected name data_login_link_when_logged_out.
  • tests/phpunit/tests/general/wpLoginout.php: test_logout_link_when_logged_in() uses data_logout_link(); expected name data_logout_link_when_logged_in.
  • tests/phpunit/tests/general/wpLoginout.php: test_loginout_filter() uses data_display(); expected name data_loginout_filter.
  • tests/phpunit/tests/general/wpRegister.php: test_register_link_when_registration_is_enabled() uses data_register_link(); expected name data_register_link_when_registration_is_enabled.

r65011: Tests: Cover prepended attachment output.

r65011 · GitHub · 2026-10-29

See #65819.

  • tests/phpunit/tests/post/prependAttachment.php: test_returns_content_unchanged_when_not_an_attachment() uses data_not_an_attachment(); expected name data_returns_content_unchanged_when_not_an_attachment.
  • tests/phpunit/tests/post/prependAttachment.php: test_prepends_video_shortcode() uses data_video_metadata(); expected name data_prepends_video_shortcode.

r65023: XML-RPC: Expand test coverage for login credentials.

r65023 · GitHub · 2026-10-29

Fixes #65600.
See #66168.
Follow-up to r63006 (GitHub), r63927 (GitHub).

  • tests/phpunit/tests/xmlrpc/wp/getUsersBlogs.php: test_non_scalar_credentials_should_return_error() uses data_non_scalar_credentials(); expected name data_non_scalar_credentials_should_return_error.

r65039: Tests: Cover plugin dependencies and list-table output.

r65039 · GitHub · 2026-10-29

See #65819.

  • tests/phpunit/tests/admin/plugin-dependencies/displayAdminNotices.php: test_unmet_notice_on_multisite() uses data_network_users(); expected name data_unmet_notice_on_multisite.
  • tests/phpunit/tests/admin/wpPluginsListTableDependencyRow.php: test_should_not_link_dependency() uses data_unlinked_dependencies(); expected name data_should_not_link_dependency.
  • tests/phpunit/tests/admin/wpPluginsListTableRequiredByRow.php: test_should_match_single_file_dependency_by_slug() uses data_single_file_plugins(); expected name data_should_match_single_file_dependency_by_slug.
  • tests/phpunit/tests/admin/wpPluginsListTableSearchBox.php: test_order_callback_should_compare_by_field() uses data_orders(); expected name data_order_callback_should_compare_by_field.

r65041: Tests: Cover plugin list-table navigation, rows, and views.

r65041 · GitHub · 2026-10-30

See #65819.

  • tests/phpunit/tests/admin/wpPluginInstallListTableNoItems.php: test_display_tablenav_should_output_nothing_on_featured_tab() uses data_positions(); expected name data_display_tablenav_should_output_nothing_on_featured_tab.
  • tests/phpunit/tests/admin/wpPluginsListTablePrepareItems.php: test_should_list_network_active_plugins_on_site_when_allowed() uses data_show_network_active(); expected name data_should_list_network_active_plugins_on_site_when_allowed.
  • tests/phpunit/tests/admin/wpPluginsListTableRowCheckbox.php: test_should_disable_checkbox_for_dependency_state() uses data_dependency_states(); expected name data_should_disable_checkbox_for_dependency_state.
  • tests/phpunit/tests/admin/wpPluginsListTableRowCheckbox.php: test_should_mark_plugin_with_update() uses data_update_states(); expected name data_should_mark_plugin_with_update.
  • tests/phpunit/tests/admin/wpPluginsListTableRowCheckbox.php: test_should_hide_checkbox_for_network_restricted_plugin() uses data_network_restrictions(); expected name data_should_hide_checkbox_for_network_restricted_plugin.

r65042: Rewrites: Reinstate split the query for random redirects.

r65042 · GitHub · 2026-10-30

Fixes #64498.
Follow-up to r63767 (GitHub), r63906 (GitHub), r64402 (GitHub).

  • tests/phpunit/tests/wp/handleRandom.php: test_requests_without_the_random_query_var_are_not_handled() uses data_requests_without_the_random_query_var(); expected name data_requests_without_the_random_query_var_are_not_handled.
  • tests/phpunit/tests/wp/handleRandom.php: test_main_query_runs_unchanged_for_requests_that_are_not_random_content_requests() uses data_requests_that_are_not_random_content_requests(); expected name data_main_query_runs_unchanged_for_requests_that_are_not_random_content_requests.

r65044: Abilities API: Share input coercion across execution paths

r65044 · GitHub · 2026-10-30

Fixes #66383.
Followed up by r65368 (GitHub): Abilities API: Skip redundant input sanitization in the REST run endpoint; r65370 (GitHub): Abilities API: Replace coerce_input() with prepare_input().

  • tests/phpunit/tests/abilities-api/wpAbility.php: test_execute_coerces_validated_input() uses data_input_coercion(); expected name data_execute_coerces_validated_input; provider is above the test.
  • tests/phpunit/tests/rest-api/wpRestAbilitiesV1RunController.php: test_permission_callback_receives_typed_input() uses data_permission_callback_input(); expected name data_permission_callback_receives_typed_input; provider is above the test.

r65048: Tests: Cover plugin upgrader callbacks and skins.

r65048 · GitHub · 2026-10-30

See #65819.

  • tests/phpunit/tests/admin/pluginInstallerSkinHideProcessFailed.php: test_should_hide_folder_exists_error_for_first_upload() uses data_errors(); expected name data_should_hide_folder_exists_error_for_first_upload.
  • tests/phpunit/tests/admin/pluginUpgraderPluginInfo.php: test_should_return_false_without_destination() uses data_unusable_results(); expected name data_should_return_false_without_destination.
  • tests/phpunit/tests/admin/pluginUpgraderUpgradeHooks.php: test_should_return_bad_request_without_plugin() uses data_missing_plugins(); expected name data_should_return_bad_request_without_plugin.
  • tests/phpunit/tests/admin/pluginUpgraderUpgradeHooks.php: test_active_before_and_after_should_not_toggle_maintenance_mode_without_plugin() uses data_empty_plugin_args(); expected name data_active_before_and_after_should_not_toggle_maintenance_mode_without_plugin.
  • tests/phpunit/tests/admin/pluginUpgraderUpgradeHooks.php: test_active_before_and_after_should_not_toggle_maintenance_mode() uses data_no_maintenance_mode(); expected name data_active_before_and_after_should_not_toggle_maintenance_mode.
  • tests/phpunit/tests/admin/pluginUpgraderUpgradeHooks.php: test_delete_old_plugin_should_delete_plugin_files() uses data_old_plugin_files(); expected name data_delete_old_plugin_should_delete_plugin_files.

r65050: Tests: Cover plugin deletion, deactivation, and sandbox loading.

r65050 · GitHub · 2026-10-30

See #65819.

  • tests/phpunit/tests/admin/includes/plugin/deletePlugins.php: test_should_return_false_without_plugins() uses data_no_plugins(); expected name data_should_return_false_without_plugins.

r65051: Tests: Cover automatic update checks and reporting.

r65051 · GitHub · 2026-10-30

See #65819.

  • tests/phpunit/tests/admin/includes/update/wpIsAutoUpdateEnabledForType.php: test_should_follow_automatic_updater() uses data_types_and_updater_states(); expected name data_should_follow_automatic_updater.
  • tests/phpunit/tests/admin/includes/update/wpIsAutoUpdateEnabledForType.php: test_should_apply_type_filter() uses data_type_filters(); expected name data_should_apply_type_filter.
  • tests/phpunit/tests/admin/includes/update/wpIsAutoUpdateEnabledForType.php: test_should_return_false_for_other_types() uses data_other_types(); expected name data_should_return_false_for_other_types.
  • tests/phpunit/tests/admin/wpAutomaticUpdaterAfterPluginThemeUpdate.php: test_should_not_send_email_without_plugin_or_theme_results() uses data_no_plugin_or_theme_results(); expected name data_should_not_send_email_without_plugin_or_theme_results.
  • tests/phpunit/tests/admin/wpAutomaticUpdaterAfterPluginThemeUpdate.php: test_should_send_email_for_results() uses data_email_types(); expected name data_should_send_email_for_results.
  • tests/phpunit/tests/admin/wpAutomaticUpdaterAfterPluginThemeUpdate.php: test_should_leave_out_results_when_email_is_disabled_for_type() uses data_disabled_notifications(); expected name data_should_leave_out_results_when_email_is_disabled_for_type.
  • tests/phpunit/tests/admin/wpAutomaticUpdaterSendDebugEmail.php: test_should_report_failed_updates() uses data_failed_core_results(); expected name data_should_report_failed_updates.
  • tests/phpunit/tests/functions/wpScheduleUpdateChecks.php: test_should_not_reschedule_scheduled_update_check() uses data_hooks(); expected name data_should_not_reschedule_scheduled_update_check.

r65056: Tests: Cover search queries, account URLs, and term titles.

r65056 · GitHub · 2026-10-30

See #65819.

  • tests/phpunit/tests/general/singleTermTitle.php: test_returns_title_for_term_archives() uses data_term_archives(); expected name data_returns_title_for_term_archives.
  • tests/phpunit/tests/general/singleTermTitle.php: test_returns_null_outside_term_archives() uses data_not_term_archives(); expected name data_returns_null_outside_term_archives.
  • tests/phpunit/tests/general/singleTermTitle.php: test_applies_filter_for_archive_type() uses data_filters(); expected name data_applies_filter_for_archive_type.

r65060: General: Preserve Walker hierarchy when children sort first.

r65060 · GitHub · 2026-10-30

Fixes #28801.

  • tests/phpunit/tests/post/wpListPages.php: test_wp_list_pages_preserves_hierarchy_when_menu_order_places_child_first() uses data_wp_list_pages_omitted_ancestor(); expected name data_wp_list_pages_preserves_hierarchy_when_menu_order_places_child_first.

r65080: Tests: Cover media dimension expansion.

r65080 · GitHub · 2026-10-30

See #65819.

  • tests/phpunit/tests/media/wpExpandDimensions.php: test_expands_example_to_max_bounds() uses data_expand_dimensions(); expected name data_expands_example_to_max_bounds.

r65085: Tests: Cover email escaping in privacy request tables.

r65085 · GitHub · 2026-10-30

See #65819.

  • tests/phpunit/tests/admin/wpPrivacyRequestsTable.php: test_request_email_is_escaped_in_columns() uses data_request_tables(); expected name data_request_email_is_escaped_in_columns.

r65090: Blocks: Fix duplicated content when implicitly closing a final open block

r65090 · GitHub · 2026-10-30

See #66138.
Follow-up to r64996 (GitHub).

  • tests/phpunit/tests/blocks/wpBlockParser.php: test_implicitly_closed_blocks_is_equivalent_to_explicitly_closed() uses data_documents_with_implicit_closings(); expected name data_implicitly_closed_blocks_is_equivalent_to_explicitly_closed.

r65111: Tests: Cover plugin validation and list-table row metadata.

r65111 · GitHub · 2026-10-31

See #65819.

  • tests/phpunit/tests/admin/includes/plugin/validateActivePlugins.php: test_should_reset_option_that_is_not_an_array() uses data_invalid_options(); expected name data_should_reset_option_that_is_not_an_array.

r65112: Tests: Expand coverage for wp_list_filter().

r65112 · GitHub · 2026-10-31

See #53987.

  • tests/phpunit/tests/functions/wpListFilter.php: test_wp_list_filter() uses data_wp_list_filter(); 1 method between the test and the provider.

r65113: Tests: Cover plugin file editing and loopback rollback.

r65113 · GitHub · 2026-10-31

See #65819.

  • tests/phpunit/tests/admin/wpEditThemePluginFilePlugin.php: test_should_reject_incomplete_request() uses data_incomplete_requests(); expected name data_should_reject_incomplete_request.
  • tests/phpunit/tests/admin/wpEditThemePluginFilePlugin.php: test_should_save_file_of_inactive_plugin() uses data_files(); expected name data_should_save_file_of_inactive_plugin.
  • tests/phpunit/tests/admin/wpEditThemePluginFilePlugin.php: test_should_revert_php_file_of_active_plugin_when_loopback_fails() uses data_failed_loopbacks(); expected name data_should_revert_php_file_of_active_plugin_when_loopback_fails.

r65118: Tests: Cover plugin list-table action links.

r65118 · GitHub · 2026-10-31

See #65819.

  • tests/phpunit/tests/admin/wpPluginsListTableActionLinks.php: test_should_not_add_links_for_user_without_capabilities() uses data_active_states(); expected name data_should_not_add_links_for_user_without_capabilities.
  • tests/phpunit/tests/admin/wpPluginsListTableNetworkActionLinks.php: test_should_not_add_links_for_user_without_network_capabilities() uses data_network_active_states(); expected name data_should_not_add_links_for_user_without_network_capabilities.

r65121: Tests: Cover image sizes and embedded media.

r65121 · GitHub · 2026-10-31

See #65751, #65931.

  • tests/phpunit/tests/media/getMediaEmbeddedInContent.php: test_returns_expected_media() uses data_content(); expected name data_returns_expected_media.

r65122: Tests: Strengthen object-cache assertions.

r65122 · GitHub · 2026-10-31

See #65693, #49799.

  • tests/phpunit/tests/term/getTheTerms.php: test_term_cache_should_be_invalidated_on_set_object_terms() uses data_term_cache_priming_functions(); expected name data_term_cache_should_be_invalidated_on_set_object_terms.

r65126: Tests: Preserve registered metadata between tests.

r65126 · GitHub · 2026-10-31

See #48300.

  • tests/phpunit/tests/includes/registeredMeta.php: test_restores_metadata_registered_before_test_methods() uses data_registered_metadata(); expected name data_restores_metadata_registered_before_test_methods.

r65129: Tests: Cover REST color parsing and avatar sizes.

r65129 · GitHub · 2026-10-31

See #65819.

  • tests/phpunit/tests/rest-api/restParseHexColor.php: test_returns_valid_hex_color() uses data_valid_hex_colors(); expected name data_returns_valid_hex_color.
  • tests/phpunit/tests/rest-api/restParseHexColor.php: test_returns_false_for_invalid_hex_color() uses data_invalid_hex_colors(); expected name data_returns_false_for_invalid_hex_color.

r65131: Tests: Cover comment types and author IP output.

r65131 · GitHub · 2026-10-31

See #65819.

  • tests/phpunit/tests/comment/getCommentType.php: test_comment_type_echoes_default_labels() uses data_default_labels(); expected name data_comment_type_echoes_default_labels.
  • tests/phpunit/tests/comment/getCommentType.php: test_comment_type_echoes_custom_labels() uses data_custom_labels(); expected name data_comment_type_echoes_custom_labels.

r65136: Tests: Cover REST IP address helper return values.

r65136 · GitHub · 2026-10-31

See #65819.

  • tests/phpunit/tests/rest-api/restIsIpAddress.php: test_returns_valid_ip_address() uses data_valid_ip_addresses(); expected name data_returns_valid_ip_address.
  • tests/phpunit/tests/rest-api/restIsIpAddress.php: test_returns_false_for_invalid_ip_address() uses data_invalid_ip_addresses(); expected name data_returns_false_for_invalid_ip_address.

r65138: Tests: Cover post format labels and slugs.

r65138 · GitHub · 2026-10-31

See #65819.

  • tests/phpunit/tests/post/getPostFormatString.php: test_get_post_format_string() uses data_post_format_strings(); expected name data_get_post_format_string.

r65141: Tests: Cover REST value comparison and request argument parsing.

r65141 · GitHub · 2026-10-31

See #65819.

  • tests/phpunit/tests/rest-api/restAreValuesEqual.php: test_returns_false_for_unequal_values() uses data_unequal_values(); expected name data_returns_false_for_unequal_values.

r65143: Tests: Cover REST authentication cookie status.

r65143 · GitHub · 2026-10-31

See #65819.

  • tests/phpunit/tests/rest-api/restCookieCollectStatus.php: test_stores_failure_status_from_action() uses data_auth_cookie_failure_actions(); expected name data_stores_failure_status_from_action.

r65172: Tests: Cover generator output formats and filters.

r65172 · GitHub · 2026-11-01

See #65819.

  • tests/phpunit/tests/general/getTheGenerator.php: test_get_the_generator_types() uses data_generator_types(); expected name data_get_the_generator_types.

r65176: Tests: Handle external version API availability failures.

r65176 · GitHub · 2026-11-01

See #63914.

  • tests/phpunit/tests/readme.php: test_get_response_body_skips_on_availability_failures() uses data_availability_error_messages(); expected name data_get_response_body_skips_on_availability_failures.
  • tests/phpunit/tests/readme.php: test_get_response_body_skips_on_server_availability_status_codes() uses data_availability_status_codes(); expected name data_get_response_body_skips_on_server_availability_status_codes.

r65178: Tests: Cover attachment ordering and editor AJAX responses.

r65178 · GitHub · 2026-11-01

See #65252.

  • tests/phpunit/tests/admin/includes/ajax-actions/saveAttachmentOrder.php: test_save_attachment_order_missing_parameters() uses data_missing_parameters(); expected name data_save_attachment_order_missing_parameters.

r65181: Tests: Cover saved and rejected screen options.

r65181 · GitHub · 2026-11-01

See #65183.

  • tests/phpunit/tests/admin/includes/misc/setScreenOptions.php: test_set_screen_options() uses data_set_screen_options(); 2 methods between the test and the provider.

r65198: Tests: Cover feed content types and content transformations.

r65198 · GitHub · 2026-11-02

See #65819.
Followed up by r65283 (GitHub): Tests: Remove redundant null call in get_the_content_feed() coverage.

  • tests/phpunit/tests/feed/feedContentType.php: test_returns_content_type_for_known_feed_types() uses data_known_feed_content_types(); expected name data_returns_content_type_for_known_feed_types.

r65210: Tests: Cover eleven admin AJAX handlers.

r65210 · GitHub · 2026-11-02

See #65252.

  • tests/phpunit/tests/admin/includes/ajax-actions/closedPostboxes.php: test_closed_postboxes_never_hides_always_shown_boxes() uses data_always_shown_postboxes(); expected name data_closed_postboxes_never_hides_always_shown_boxes.
  • tests/phpunit/tests/admin/includes/ajax-actions/dashboardWidgets.php: test_dashboard_widgets_sets_dashboard_screen() uses data_dashboard_screens(); expected name data_dashboard_widgets_sets_dashboard_screen.
  • tests/phpunit/tests/admin/includes/ajax-actions/findPosts.php: test_find_posts_labels_post_status() uses data_status_labels(); expected name data_find_posts_labels_post_status.

r65222: REST API: Only let a reaction’s author delete it.

r65222 · GitHub · 2026-11-03

Fixes #66447.
Follow-up to r64488 (GitHub), r65038 (GitHub).

  • tests/phpunit/tests/rest-api/rest-comments-controller.php: test_cannot_delete_another_users_reaction() uses data_users_who_cannot_delete_another_users_reaction(); expected name data_cannot_delete_another_users_reaction.

r65226: Upgrade/Install: Show and allow to select translation updates on the Updates screen.

r65226 · GitHub · 2026-11-03

Fixes #42281.
Followed up by r65277 (GitHub): Tests: Load the WP_Upgrader classes in the WP_Automatic_Updater tests.

  • tests/phpunit/tests/admin/includesUpdate.php: test_wp_get_translation_update_data_does_not_load_plugin_names_without_plugin_translations() uses data_non_plugin_translation_updates(); expected name data_wp_get_translation_update_data_does_not_load_plugin_names_without_plugin_translations.
  • tests/phpunit/tests/admin/includesUpdate.php: test_wp_process_translation_update_selection() uses data_translation_update_selections(); expected name data_wp_process_translation_update_selection.
  • tests/phpunit/tests/admin/languagePackUpgrader.php: test_bulk_upgrade_should_clear_only_successful_deferrals() uses data_bulk_upgrade_results(); expected name data_bulk_upgrade_should_clear_only_successful_deferrals.

r65228: Interactivity API: Remove event handler bind directives.

r65228 · GitHub · 2026-11-03

See #66452.
Follow-up to r61885 (GitHub).

  • tests/phpunit/tests/interactivity-api/wpInteractivityAPI-wp-bind.php: test_wp_bind_removes_event_handler_bindings() uses data_event_handler_bindings(); expected name data_wp_bind_removes_event_handler_bindings; provider is above the test.

r65251: Build/Test Tools: Keep default-excluded groups excluded when using --exclude-group.

r65251 · GitHub · 2026-11-04

Fixes #34185.
Followed up by r65276 (GitHub): Build/Test Tools: Only declare the default group filter where PHPUnit has test listeners.

  • tests/phpunit/tests/phpunit/groupFilters.php: test_requested_group_is_not_reported_as_default_excluded() uses data_group_argument_syntax(); expected name data_requested_group_is_not_reported_as_default_excluded.

r65267: Tests: Cover five more admin AJAX handlers.

r65267 · GitHub · 2026-11-04

See #65252.

  • tests/phpunit/tests/admin/includes/ajax-actions/getCommunityEvents.php: test_get_community_events_updates_saved_location_when_ip_changes() uses data_saved_location_without_search(); expected name data_get_community_events_updates_saved_location_when_ip_changes.
  • tests/phpunit/tests/admin/includes/ajax-actions/saveUserColorScheme.php: test_save_user_color_scheme_saves_scheme() uses data_color_schemes(); expected name data_save_user_color_scheme_saves_scheme.
  • tests/phpunit/tests/admin/includes/ajax-actions/saveWidget.php: test_save_widget_rejects_user_without_edit_theme_options() uses data_roles_without_edit_theme_options(); expected name data_save_widget_rejects_user_without_edit_theme_options.

r65271: Tests: Run the AVIF quality test with both image editors.

r65271 · GitHub · 2026-11-04

Fixes #63990.
See #63932.
Follow-up to r59247 (GitHub), r60736 (GitHub).

  • tests/phpunit/tests/media.php: test_quality_with_avif_conversion_file_sizes() uses data_test_quality_with_avif_conversion_file_sizes(); expected name data_quality_with_avif_conversion_file_sizes.

r65273: Editor: Show the placeholder of empty excerpt, description, and author fields.

r65273 · GitHub · 2026-11-05

Fixes #65981.

  • tests/phpunit/tests/view-config.php: test_excerpt_layout_shows_placeholder_if_empty() uses data_post_types_with_excerpt_in_form(); expected name data_excerpt_layout_shows_placeholder_if_empty.
  • tests/phpunit/tests/view-config.php: test_author_layout_shows_placeholder_if_empty() uses data_post_types_with_author_in_form(); expected name data_author_layout_shows_placeholder_if_empty.

r65290: Tests: Add tests for wp_ajax_time_format().

r65290 · GitHub · 2026-11-05

Fixes #65228.

  • tests/phpunit/tests/admin/includes/ajax-actions/wpAjaxTimeFormat.php: test_time_format() uses data_time_format(); 2 methods between the test and the provider.

r65307: Tests: Extend coverage for core abilities

r65307 · GitHub · 2026-11-06

Fixes #66493.

  • tests/phpunit/tests/abilities-api/wpRegisterCoreAbilities.php: test_core_get_site_info_denies_users_who_cannot_manage_options() uses data_users_who_cannot_manage_options(); expected name data_core_get_site_info_denies_users_who_cannot_manage_options.

r65319: Upload: Accept both valid MIME types reported for TrueType fonts.

r65319 · GitHub · 2026-11-06

Fixes #66419.
Follow-up to r57539 (GitHub).

  • tests/phpunit/tests/functions.php: test_wp_check_filetype_and_ext_accepts_either_ttf_mime_type() uses data_wp_check_filetype_and_ext_with_ttf_mime_types(); expected name data_wp_check_filetype_and_ext_accepts_either_ttf_mime_type.

r65332: Site Health: Use a passing label for the insecure registration test.

r65332 · GitHub · 2026-11-07

Fixes #66359.
Follow-up to r61687 (GitHub).

  • tests/phpunit/tests/admin/wpSiteHealthGetTestInsecureRegistration.php: test_status_depends_on_registration_and_default_role() uses data_registration_settings(); expected name data_status_depends_on_registration_and_default_role.

r65343: Interactivity API: Align server-side data-wp-html processing with client behavior.

r65343 · GitHub · 2026-11-09

Fixes #66246.
Follow-up to r64386 (GitHub), r64501 (GitHub).

  • tests/phpunit/tests/interactivity-api/wpInteractivityAPI-wp-html.php: test_value_that_is_not_a_token_empties_the_host_with_one_notice() uses data_values_that_are_not_tokens(); expected name data_value_that_is_not_a_token_empties_the_host_with_one_notice.
  • tests/phpunit/tests/interactivity-api/wpInteractivityAPI-wp-html.php: test_reference_that_resolves_to_nothing_empties_the_host_without_notice() uses data_references_that_resolve_to_nothing(); expected name data_reference_that_resolves_to_nothing_empties_the_host_without_notice.
  • tests/phpunit/tests/interactivity-api/wpInteractivityAPI-wp-html.php: test_failed_evaluation_empties_the_host_without_a_data_wp_html_notice() uses data_references_whose_evaluation_fails(); expected name data_failed_evaluation_empties_the_host_without_a_data_wp_html_notice.
  • tests/phpunit/tests/interactivity-api/wpInteractivityAPI-wp-html.php: test_host_under_an_island_that_names_no_namespace_is_emptied() uses data_islands_that_name_no_namespace(); expected name data_host_under_an_island_that_names_no_namespace_is_emptied.
  • tests/phpunit/tests/interactivity-api/wpInteractivityAPI-wp-html.php: test_conflicting_directive_ignores_data_wp_html_with_one_notice() uses data_directives_that_conflict(); expected name data_conflicting_directive_ignores_data_wp_html_with_one_notice.
  • tests/phpunit/tests/interactivity-api/wpInteractivityAPI-wp-html.php: test_directive_the_client_drops_is_ignored() uses data_directives_the_client_drops(); expected name data_directive_the_client_drops_is_ignored.
  • tests/phpunit/tests/interactivity-api/wpInteractivityAPI-wp-html.php: test_host_that_cannot_hold_html() uses data_hosts_that_cannot_hold_html(); expected name data_host_that_cannot_hold_html.
  • tests/phpunit/tests/interactivity-api/wpInteractivityAPI-wp-html.php: test_nested_call_keeps_the_outer_call_processing() uses data_ways_to_make_a_nested_call(); expected name data_nested_call_keeps_the_outer_call_processing.

r65368: Abilities API: Skip redundant input sanitization in the REST run endpoint

r65368 · GitHub · 2026-11-10

Fixes #66383.
Follow-up to r62674 (GitHub), r65044 (GitHub).

  • tests/phpunit/tests/rest-api/wpRestAbilitiesV1RunController.php: test_input_is_prepared_once_before_permission_check() uses data_input_prepared_once(); expected name data_input_is_prepared_once_before_permission_check; provider is above the test.
  • tests/phpunit/tests/rest-api/wpRestAbilitiesV1RunController.php: test_invalid_input_does_not_hide_request_errors() uses data_invalid_input_does_not_hide_request_errors(); provider is above the test.

r65370: Abilities API: Replace coerce_input() with prepare_input()

r65370 · GitHub · 2026-11-10

Fixes #66482.
See #66383.
Follow-up to r65044 (GitHub), r65306 (GitHub).

  • tests/phpunit/tests/abilities-api/wpAbility.php: test_prepare_input() uses data_input_is_coerced(); expected name data_prepare_input; provider is above the test.
  • tests/phpunit/tests/abilities-api/wpAbility.php: test_input_sanitization_errors() uses data_input_sanitization_errors(); provider is above the test.
  • tests/phpunit/tests/rest-api/wpRestAbilitiesV1RunController.php: test_sanitization_error_returns_400() uses data_sanitization_error_inputs(); expected name data_sanitization_error_returns_400; provider is above the test.

r65375: Security: Harden secret names, parameters and the root key field.

r65375 · GitHub · 2026-11-10

Fixes #66414.
See #66187.
Follow-up to r64337 (GitHub).
Followed up by r65377 (GitHub): Security: Document the Secrets API hardening tests; r65390 (GitHub): Security: Make the Secrets API extension points abstract classes.

  • tests/phpunit/tests/secrets/wpSetSecretAndWpGetSecret.php: test_parameters_that_receive_a_secret_value_are_sensitive() uses data_parameters_that_receive_a_secret_value(); expected name data_parameters_that_receive_a_secret_value_are_sensitive.

r65405: Blocks: Non-string documents should parse as empty arrays.

r65405 · GitHub · 2026-11-11

See #66138.
Follow-up to r64870 (GitHub).

  • tests/phpunit/tests/blocks/wpBlockParser.php: test_returns_empty_array_for_non_string_document() uses data_non_string_documents(); expected name data_returns_empty_array_for_non_string_document.

r65411: I18N: Print translations for the script modules that scripts depend on.

r65411 · GitHub · 2026-11-12

Fixes #66591.
Follow-up to r61587 (GitHub), r62278 (GitHub).

  • tests/phpunit/tests/script-modules/wpScriptModules.php: test_print_script_module_translations_includes_module_dependencies_of_scripts() uses data_module_dependencies_of_script(); expected name data_print_script_module_translations_includes_module_dependencies_of_scripts.
  • tests/phpunit/tests/script-modules/wpScriptModules.php: test_print_script_module_translations_includes_module_dependencies_of_enqueued_scripts_once() uses data_enqueued_scripts_and_script_modules(); expected name data_print_script_module_translations_includes_module_dependencies_of_enqueued_scripts_once.
  • tests/phpunit/tests/script-modules/wpScriptModules.php: test_print_script_module_translations_and_data_output_with_unregistered_or_circular_dependencies() uses data_unregistered_or_circular_dependencies(); expected name data_print_script_module_translations_and_data_output_with_unregistered_or_circular_dependencies.

r65440: Rewrite Rules: Always redirect random content requests.

r65440 · GitHub · 2026-11-12

Fixes #66625.
See #64498.
Follow-up to r64402 (GitHub).

  • tests/phpunit/tests/wp/handleRandom.php: test_request_is_redirected_to_the_permalink_of_the_selected_post() uses data_permalinks(); expected name data_request_is_redirected_to_the_permalink_of_the_selected_post.