Tests: Document value comparisons in get_adjacent_post tests - #13935
Closed
huzaifaalmesbah wants to merge 1 commit into
Closed
huzaifaalmesbah wants to merge 1 commit into
huzaifaalmesbah wants to merge 1 commit into
Conversation
Explain why assertEquals() calls intentionally compare WP_Post objects by value. See #64895.
|
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. |
lancewillett
self-requested a review
October 2, 2026 18:37
lancewillett
approved these changes
Oct 2, 2026
Member
|
PR #13935 landed in https://core.trac.wordpress.org/changeset/64067 |
wporg-sync
pushed a commit
that referenced
this pull request
Oct 2, 2026
Explain why adjacent and boundary post tests retain assertEquals() when comparing WP_Post objects and arrays of posts by value. Developed in: #13935 Props huzaifaalmesbah. See #64895. git-svn-id: https://develop.svn.wordpress.org/trunk@64067 602fd350-edb4-49c9-b593-d223f7449a82
wporg-sync
pushed a commit
to WordPress/WordPress
that referenced
this pull request
Oct 2, 2026
Explain why adjacent and boundary post tests retain assertEquals() when comparing WP_Post objects and arrays of posts by value. Developed in: WordPress/wordpress-develop#13935 Props huzaifaalmesbah. See #64895. Built from https://develop.svn.wordpress.org/trunk@64067 git-svn-id: http://core.svn.wordpress.org/trunk@63226 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.
Description
Reviewed
tests/phpunit/tests/link/for ticket #64895.There are 29 calls to
assertEquals()intests/phpunit/tests/link/getAdjacentPost.php:test_get_adjacent_post(): 13 calls comparingWP_Postobjects or arrays ofWP_Postobjects returned fromget_adjacent_post().test_get_adjacent_post_exclude_self_term(): 8 calls comparingWP_Postobjects returned fromget_adjacent_post().test_get_adjacent_post_caching(): 8 calls comparingWP_Postobjects returned fromget_adjacent_post().All 29 calls intentionally compare
WP_Postinstances by value:get_adjacent_post()queries the database and instantiates freshWP_Postobjects, which are distinct instances from the fixture references in the test.assertSame()strictly checks object identity (===), which fails when comparing distinctWP_Postinstances representing the same post.As noted specifically by committer @lancewillett in Trac #64895 (comment:93):
These intentional loose comparisons are preserved and documented with:
// Keep assertEquals() because the objects are intentionally compared by value.Testing Instructions
Trac ticket: https://core.trac.wordpress.org/ticket/64895
Use of AI Tools
AI assistance: Yes
Tool(s): Antigravity
Model(s): Gemini
Used for: Inspecting assertions and drafting documentation comments. Implementation and test verification were reviewed and executed locally.