[wp-trac] [WordPress Trac] #55652: Test tool and unit test improvements for 6.1
WordPress Trac
noreply at wordpress.org
Tue Sep 6 00:59:33 UTC 2022
#55652: Test tool and unit test improvements for 6.1
--------------------------------------+---------------------
Reporter: hellofromTonya | Owner: (none)
Type: task (blessed) | Status: new
Priority: normal | Milestone: 6.1
Component: Build/Test Tools | Version:
Severity: normal | Resolution:
Keywords: has-patch has-unit-tests | Focuses:
--------------------------------------+---------------------
Comment (by SergeyBiryukov):
In [changeset:"54077" 54077]:
{{{
#!CommitTicketReference repository="" revision="54077"
Tests: Correct the cache invalidation tests for old date or slug redirect.
This affects:
*
`Tests_Rewrite_OldDateRedirect::test_old_date_redirect_cache_invalidation()`
*
`Tests_Rewrite_OldSlugRedirect::test_old_slug_redirect_cache_invalidation()`
In the former test, the `$post_id` property is declared as `static`, so
can only be approached as static, even when used within the same class in
which the property is declared.
Using non-static access will result in `null`. See: https://3v4l.org/93HQL
This PHP notice was hidden so far, due to the existence of magic methods
in the `WP_UnitTestCase_Base class`.
All the same, the magic methods as they were, would also return `null` for
this property. All in all, the post being updated for this test would
never get the correct `post_id`.
Fixed by using static access to approach the `static` property.
On a related note, the described bug fix (using the actual `$post_id`
instead of `null`) exposed that this test was as a matter of fact failing.
This was just hidden by the first bug.
Based on the original commit introducing the test, an adjustment is now
made which appears to be what the test actually ''intended'' to test. A
similar change is made to the cache invalidation test for old slug
redirects. While not strictly required, it brings some consistency between
the two tests and ensures that both tests use a unique `post_name` value
to avoid collisions with the previous values.
This bug was discovered while fixing (removing) the magic methods in the
`WP_UnitTestCase_Base` class in an effort to improve compatibility with
PHP 8.2.
Follow-up to [53549].
Props jrf, costdev, SergeyBiryukov.
See #55652.
}}}
--
Ticket URL: <https://core.trac.wordpress.org/ticket/55652#comment:153>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list