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.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make layout supports compatible with enhanced pagination #5528
Make layout supports compatible with enhanced pagination #5528
Changes from 10 commits
ec9eb66
e4f7eab
5468e17
2d3db44
b6138d4
89b3ba9
ca9731a
42035de
780486b
11f1cac
c01e7e8
1c8ab55
7a32e26
5aac204
f4f99fc
28cbcad
92d9392
5151440
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
Check failure on line 7852 in src/wp-includes/functions.php
GitHub Actions / PHP coding standards
Check failure on line 7853 in src/wp-includes/functions.php
GitHub Actions / PHP coding standards
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As
wp_unique_prefixed_id()
is a general function not specific to block names, it's possible that an ID may contain.
and a number of other characters. Reference.It's also possible that the "id" in question does not link directly to the HTML
id
attribute`.Coverage should also be added for a variety of possible "id" values, such as
(string) "0.0"
, etc. to protect behavior as this general function could be used to generate unique IDs for a variety of purposes/accepted formats.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure that can be added, though would be part of the prefix, and not the incremented integer value.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @costdev, commit 7a32e26 adds 2 more happy path datasets:
'.'
What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Tonya!
If there are any other potential "gotcha" values that a potential future refactor could regress, we should consider those too. The non-string dataset looks good for "gotcha" values, though I think we should complete the scalar datasets with
(float) 0.0
and(float) 1.0
.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@costdev 28cbcad adds a double dataset.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@costdev here's the added coverage we talked about in Make/Core slack DM 5151440.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this can be a post commit cleanup, but If this test is ever run before
test_should_create_unique_prefixed_ids
then they will fail.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, the order of the tests within the class does currently matter. The tests in this class runs in a separate process to avoid a situation where the static
$id_counters
already has values in it.To handle the test run order within the class, could change that to run each test in a separate process. By doing so, the static
$id_counters
will always be reset to an empty array when each test starts.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Commit 5aac204 runs each test dataset in a separate process to avoid test order concerns,
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also tweaked the unhappy path tests to ensure the IDs remain unique f4f99fc
How? By allowing each dataset to determine how many unique IDs to generate.
Why? Each of these non-string prefix datasets would have the same ID, as the prefix is omitted (empty string). One more check just to make sure.
Check failure on line 86 in tests/phpunit/tests/functions/wpUniquePrefixedId.php
GitHub Actions / PHP coding standards