Build/Test Tools: Use strict assertions in the interactivity-api tests. - #13528
Closed
haritpanchal wants to merge 1 commit into
Closed
haritpanchal wants to merge 1 commit into
haritpanchal wants to merge 1 commit into
Conversation
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the Core Committers: Use this line as a base for the props when committing in SVN: To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
Member
wporg-sync
pushed a commit
that referenced
this pull request
Sep 15, 2026
Compare updated HTML strings explicitly with assertSame() in the directives processor tests. Use a strict comparison for the sorted directive suffixes and unique IDs, preserving the distinction between strings and null. Developed in: #13528 Props haritpanchal. See #64895. git-svn-id: https://develop.svn.wordpress.org/trunk@63622 602fd350-edb4-49c9-b593-d223f7449a82
wporg-sync
pushed a commit
to WordPress/WordPress
that referenced
this pull request
Sep 15, 2026
Compare updated HTML strings explicitly with assertSame() in the directives processor tests. Use a strict comparison for the sorted directive suffixes and unique IDs, preserving the distinction between strings and null. Developed in: WordPress/wordpress-develop#13528 Props haritpanchal. See #64895. Built from https://develop.svn.wordpress.org/trunk@63622 git-svn-id: http://core.svn.wordpress.org/trunk@62798 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Reviewed the 2 files claimed on the ticket under
tests/phpunit/tests/interactivity-api/.All 33
assertEquals()calls convert toassertSame().wpInteractivityAPIDirectivesProcessor.php(32 assertions) — every call compared astring literal against
$p, theWP_Interactivity_API_Directives_Processorinstance itself, not a string. This only ever worked because PHPUnit falls
back to
__toString()when comparing a string to an object that definesone —
assertSame()would fail on every single one of these (string !== object) if the method name were swapped without also fixing the argument.__toString()delegates toget_updated_html(): string(
WP_HTML_Tag_Processor, which this class extends), the same strictreturn-type contract used in the
block-bindings/conversions from thisticket, so each call now explicitly asserts against
$p->get_updated_html().wpInteractivityAPI.php(1 assertion) —parse_directive_name()declares@phpstan-return array{..., suffix: non-empty-string|null, unique_id: non-empty-string|null}and casts every non-null branch with(string), sothe type is a documented guarantee, not an inference. The two sibling
assertions immediately above this one in the same test already use
assertSame()for the same structure, so this was an inconsistency fix.Testing
PHPCS clean on both changed files. Test-only change; no production code touched.
Trac ticket: https://core.trac.wordpress.org/ticket/64895
Use of AI Tools
AI assistance: Yes
Tool(s): Claude Code
Model(s): Claude Opus 5
Used for: Helping locate candidate files and cross-check each expected literal
against the return-type contract. I reviewed the conversions and take
responsibility for the final code.