Skip to content

Tests: Make data providers in file.php static - #14807

Open
shail-mehta wants to merge 1 commit into
WordPress:trunkfrom
shail-mehta:tests/65819-static-data-providers-file
Open

shail-mehta wants to merge 1 commit into
WordPress:trunkfrom
shail-mehta:tests/65819-static-data-providers-file

Conversation

@shail-mehta

Copy link
Copy Markdown
Member

What

Trac ticket: #65819

Makes the data providers in tests/phpunit/tests/file.php static.

Why

PHPUnit data providers should be static so they do not depend on test instance state and remain compatible with current PHPUnit usage in Core.

How

  • Convert data_wp_tempnam_filenames() to public static
  • Convert data_wp_tempnam_should_limit_filename_length_to_252_characters() to public static

Test-only; no production code changes.

Testing Instructions

  1. npm run test:php -- --filter Tests_File
  2. npm run test:php -- --filter Tests_File -c tests/phpunit/multisite.xml
  3. npm run test:php -- --filter Tests_File --order-by=random
  4. npm run test:php -- --group file

Use of AI Tools

  • Cursor

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

Both providers are independent of instance state, and the declaration changes preserve existing test behavior.

No open issues 🎉

What changed in this PR

This test-only PR makes two data providers static in Tests_File, aligning them with current PHPUnit expectations without changing production code.

Changes:

  • Declares both filename data providers public static.
  • Preserves existing datasets and test references.
File Description
tests/​phpunit/​tests/​file.php Makes both wp_tempnam() data providers static.

Review effort: Balanced

@shail-mehta
shail-mehta marked this pull request as ready for review October 25, 2026 03:39
@github-actions

Copy link
Copy Markdown

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs.

Core Committers: Use this line as a base for the props when committing in SVN:

Props shailu25.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.


Props Bot commands

You can trigger Props Bot actions by commenting on this PR:

  • @propsbot add <username> to give props to a GitHub user. Requires write access.
  • @propsbot remove <username> to leave a user out of the props. Requires write access.
  • @propsbot refresh to refresh this list. Adding the props-bot label works too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants