Fixes element classnames not being output when block attributes are filtered with `render_block_data`.
Props aaronrobertshaw, isabel_brison, jorbin.
Fixes#60681.
git-svn-id: https://develop.svn.wordpress.org/trunk@58074 602fd350-edb4-49c9-b593-d223f7449a82
The html5lib-tests suite parses tests from a number of files with a specific
data format. It uses a dataProvider in a loop that yields test information.
This relies on some variables being reset on each iteration. The context
element has not properly reset on each iteration.
The test specification describes the context element as follows:
a9f44960a9/tree-construction/README.md
> Then there *may* be a line that says "#document-fragment", which must be
> followed by a newline (LF), followed by a string of characters that indicates
> the context element, followed by a newline (LF). If the string of characters
> starts with "svg ", the context element is in the SVG namespace and the
> substring after "svg " is the local name. If the string of characters starts
> with "math ", the context element is in the MathML namespace and the
> substring after "math " is the local name. Otherwise, the context element is
> in the HTML namespace and the string is the local name. If this line is
> present the "#data" must be parsed using the HTML fragment parsing algorithm
> with the context element as context.
Without the proper reset of this value, a single context element would change
subsequent tests, breaking the test suite.
This patch adds the reset to ensure that the test suite works properly.
Developed in https://github.com/WordPress/wordpress-develop/pull/6464
Discussed in https://core.trac.wordpress.org/ticket/61102Fixes#61102.
Props costdev, dmsnell, jonsurrell.
git-svn-id: https://develop.svn.wordpress.org/trunk@58072 602fd350-edb4-49c9-b593-d223f7449a82
This ensures that not only the return values match the expected results, but also that their type is the same.
Going forward, stricter type checking by using `assertSame()` should generally be preferred to `assertEquals()` where appropriate, to make the tests more reliable.
Follow-up to [36444].
Props costdev.
See #60706.
git-svn-id: https://develop.svn.wordpress.org/trunk@58070 602fd350-edb4-49c9-b593-d223f7449a82
The way `wp_reset_vars()` sets global variables based on `$_POST` and `$_GET` values makes code hard to understand and maintain. It also makes it easy to forget to sanitize input.
This change removes the few places where `wp_reset_vars()` is used in the admin to explicitly use `$_REQUEST` and sanitize any input.
Props swissspidy, audrasjb, davideferre, killua99, weijland, voldemortensen.
Fixes#38073.
git-svn-id: https://develop.svn.wordpress.org/trunk@58069 602fd350-edb4-49c9-b593-d223f7449a82
Before, `wp_localize_script()` did not work when the `$wp_scripts` global was not already set (for example because of a script registration happening elsewhere) and even emitted a warning in that case. Due to side effects such as block registration early in the load process, this usually never happened. However, the absence of these side effects in 6.5 caused the `wp_localize_script()` to no longer work in places such as the `login_enqueue_scripts`.
By calling `wp_scripts()` in `wp_localize_script()`, the `$wp_scripts` global is automatically set if needed, restoring previous behavior. Adds both a PHP unit test and an e2e test to verify this use case. Hat tip: jorbin.
Happy birthday, Aaron!
Props salcode, aslamdoctor, jorbin, swissspidy.
Fixes#60862.
git-svn-id: https://develop.svn.wordpress.org/trunk@58068 602fd350-edb4-49c9-b593-d223f7449a82
This can be used by the excerpt block in the editor to change the excerpt length without filtering `excerpt_length` in a conflicting way. This enhancement still needs a corresponding change on the Gutenberg side.
Props swissspidy, antonvlasenko, mukesh27, azaozz, andraganescu, timothyblynjacobs.
Fixes#59043.
git-svn-id: https://develop.svn.wordpress.org/trunk@58065 602fd350-edb4-49c9-b593-d223f7449a82
Moves the translatable strings from the JS template defined in PHP to the `updates.js` script, where `_n()` can be used as recommended.
Props ideag, SergeyBiryukov, daledupreez, audrasjb, ocean90, swissspidy.
Fixes#37287.
git-svn-id: https://develop.svn.wordpress.org/trunk@58064 602fd350-edb4-49c9-b593-d223f7449a82
Originally added in [34903], these empty CSS blocks serve no purpose.
Props ravipatel, sabernhardt.
Fixes#61085.
git-svn-id: https://develop.svn.wordpress.org/trunk@58063 602fd350-edb4-49c9-b593-d223f7449a82
Improve support for using only PHP translation files.
This builds on top of the PHP translation file support added in WordPress 6.5, improving the behavior for projects using solely `.l10n.php` translation files and no `.mo.` and `.po` files.
Updates `wp_get_installed_translations()`, which is used when updating language packs and when uninstalling plugins/themes (to remove the translations again), to look for PHP translation files and read metadata from them. Additionally, the file lookup is now cached thanks to using `WP_Textdomain_Registry`.
Updates `Language_Pack_Upgrader::check_package()` to allow language packs that only contain PHP translation files. While WordPress.org continues to serve `.mo` and `.po` files, third-party services might want to only use the PHP file format.
See #60554.
git-svn-id: https://develop.svn.wordpress.org/trunk@58062 602fd350-edb4-49c9-b593-d223f7449a82
This builds on top of the PHP translation file support added in WordPress 6.5, improving the behavior for projects using solely `.l10n.php` translation files and no `.mo.` and `.po` files.
Updates `wp_get_installed_translations()`, which is used when updating language packs and when uninstalling plugins/themes (to remove the translations again), to look for PHP translation files and read metadata from them. Additionally, the file lookup is now cached thanks to using `WP_Textdomain_Registry`.
Updates `Language_Pack_Upgrader::check_package()` to allow language packs that only contain PHP translation files. While WordPress.org continues to serve `.mo` and `.po` files, third-party services might want to only use the PHP file format.
Props swissspidy.
Fixes#60554.
git-svn-id: https://develop.svn.wordpress.org/trunk@58061 602fd350-edb4-49c9-b593-d223f7449a82
[56950] reduced the heading size of About screen headings, but that did not edit the size for smaller viewports.
This changeset fixes this issue, and also updates the larger fluid font size (960px - 1200px).
Follow-up to [56950].
Props dhruvang21, sabernhardt, khokansardar.
Fixes#61030.
git-svn-id: https://develop.svn.wordpress.org/trunk@58060 602fd350-edb4-49c9-b593-d223f7449a82
This ensures that not only the return values match the expected results, but also that their type is the same.
Going forward, stricter type checking by using `assertSame()` should generally be preferred to `assertEquals()` where appropriate, to make the tests more reliable.
Follow-up to [38381].
Props costdev.
See #60706.
git-svn-id: https://develop.svn.wordpress.org/trunk@58054 602fd350-edb4-49c9-b593-d223f7449a82
The pullquote block needed the base font size adding back in. This also adds in support for appearance settings for weight and style in addition to the original ticket. This fixes a previous commit which changed the default font size of pullquote blocks, quote blocks and blockquotes.
Props sabernhardt.
Fixes#61034.
git-svn-id: https://develop.svn.wordpress.org/trunk@58053 602fd350-edb4-49c9-b593-d223f7449a82
This ensures that not only the return values match the expected results, but also that their type is the same.
Going forward, stricter type checking by using `assertSame()` should generally be preferred to `assertEquals()` where appropriate, to make the tests more reliable.
Follow-up to [38778], [46829].
Props costdev.
See #60706.
git-svn-id: https://develop.svn.wordpress.org/trunk@58052 602fd350-edb4-49c9-b593-d223f7449a82
All assertions in PHPUnit have a `$message` parameter. Setting this parameter allows to distinguish which assertion is failing when a test runs multiple assertions, making debugging of the tests easier.
Follow-up to [34928], [51478], [58039].
See #60426.
git-svn-id: https://develop.svn.wordpress.org/trunk@58051 602fd350-edb4-49c9-b593-d223f7449a82
The purpose of `tests/e2e/specs/gutenberg-plugin.test.js` is to ensure that running the Gutenberg plugin (stable version) on a WordPress `trunk` install doesn't produce any fatals.
The test was introduced in [54913], i.e. it has been around since WP 6.2. It makes sense to have it present on older branches, as the Gutenberg plugin not only supports `trunk`, but also the current stable version of WordPress (i.e. currently 6.5), and one version below (6.4). However, it is not expected to work on any earlier versions beyond that; in practice, it has produced errors on some of those.
This changeset checks the REST API response from the plugin activation request. If it returns an error with error code `plugin_wp_incompatible`, it skips the test.
Props jorbin, johnbillion, swissspidy.
Fixes#60971.
git-svn-id: https://develop.svn.wordpress.org/trunk@58046 602fd350-edb4-49c9-b593-d223f7449a82
This ensures that not only the return values match the expected results, but also that their type is the same.
Going forward, stricter type checking by using `assertSame()` should generally be preferred to `assertEquals()` where appropriate, to make the tests more reliable.
Follow-up to [41047].
Props costdev.
See #60706.
git-svn-id: https://develop.svn.wordpress.org/trunk@58044 602fd350-edb4-49c9-b593-d223f7449a82
Two `@since` PHPDoc fields, and the version argument to one `_deprecated_argument()` incorrectly stated 6.5.1 as the relevant WordPress version where a change was introduced.
This changeset fixes them by setting them to 6.5.3 instead.
Follow-up to [57919].
See #60754.
git-svn-id: https://develop.svn.wordpress.org/trunk@58042 602fd350-edb4-49c9-b593-d223f7449a82
Since [60428] the Tag Processor has been misidentifying single-character
funky comments. It has been asserting that the full token-length for a
funky comment must be at least three characters after the opening (e.g.
`</1>`), but it has been starting to look for the closing `>` after
those same three characters. This means that it has been skipping the
actual close of these funky comments and swallowing up the next syntax
until it finds a `>`, often consuming the next tag in the process.
This patch fixes the detector and restores finding the following token.
Developed in https://github.com/WordPress/wordpress-develop/pull/6412
Discussed in https://core.trac.wordpress.org/ticket/60170
Follow-up to [60428].
Fixes#60170.
Props dmsnell, gziolo, jonsurrell.
git-svn-id: https://develop.svn.wordpress.org/trunk@58040 602fd350-edb4-49c9-b593-d223f7449a82
All assertions in PHPUnit have a `$message` parameter. Setting this parameter allows to distinguish which assertion is failing when a test runs multiple assertions, making debugging of the tests easier.
This optional parameter is now added for `WP_Test_REST_TestCase::assertErrorResponse()`.
Follow-up to [34928], [51478].
Props mykolashlyakhtun, antonvlasenko, swissspidy, SergeyBiryukov.
Fixes#60426.
git-svn-id: https://develop.svn.wordpress.org/trunk@58039 602fd350-edb4-49c9-b593-d223f7449a82
This changesets replaces the "Edit Site" link with "Site Editor" to avoid duplicate link anchors on multisite admin toolbar. The remaining "Edit site" link takes the user to the site editing screen in the network admin area (`network/site-info.php`) while the new "Site Editor" link takes the user to the site editor (`site-editor.php`).
Follow-up to [52158]. See GB27135.
Props johnbillion, sabernhardt, audrasjb, johnjamesjacoby, pratiklondhe.
Fixes#60977.
git-svn-id: https://develop.svn.wordpress.org/trunk@58035 602fd350-edb4-49c9-b593-d223f7449a82
This allows inserting of own blocks into header since the release of the Block Hooks API, specifically after the navigation block.
Props tomjcafferkey, poena, shailu25.
Fixes#60723.
git-svn-id: https://develop.svn.wordpress.org/trunk@58034 602fd350-edb4-49c9-b593-d223f7449a82
This changesets adds a check for `$size_array` values to prevent a potential division by zero.
Follow-up to [57294].
Props jdekhtiar.
Fixes#61054.
See #59352.
git-svn-id: https://develop.svn.wordpress.org/trunk@58033 602fd350-edb4-49c9-b593-d223f7449a82
There were several instances of typo corrections in block patterns. This removes the last sentence for a simpler resolution.
Props sabernhardt.
Fixes#61004.
git-svn-id: https://develop.svn.wordpress.org/trunk@58031 602fd350-edb4-49c9-b593-d223f7449a82
Removes output of base rules for flow and constrained layout types on themes without theme.json.
Props evanltd, poena, isabel_brison, andrewserong, oandregal.
See #60981.
git-svn-id: https://develop.svn.wordpress.org/trunk@58028 602fd350-edb4-49c9-b593-d223f7449a82
This extends the benefits of persistent caching added in [56978] for block theme patterns to sites that are not using a persistent object cache. By default, these caches expire using the value of the `WP_Theme::cache_expiration` property. The transient cache TTL can be overridden using the newly introduced `wp_theme_files_cache_ttl` filter.
Props thekt12, joemcgill, flixos90, peterwilsoncc, spacedmonkey.
See #59600, #59719.
git-svn-id: https://develop.svn.wordpress.org/trunk@58025 602fd350-edb4-49c9-b593-d223f7449a82
This prevents a fatal error if an array is passed instead.
Follow-up to [2876], [4969], [7524], [8701], [25701], [31417], [49109].
Props TimoTijhof.
Fixes#59373.
git-svn-id: https://develop.svn.wordpress.org/trunk@58023 602fd350-edb4-49c9-b593-d223f7449a82
Adds a missing string and some additional validation of paths in the upgrader class.
Follow up to [56992].
Props costdev, jipmoors, karlijnbok, swissspidy, afragen, mukesh27.
Fixes#59712.
git-svn-id: https://develop.svn.wordpress.org/trunk@58022 602fd350-edb4-49c9-b593-d223f7449a82
Remove `target="_blank"` from two links to developer resources on adding the personal data eraser to plugins in the Help info for the privacy screens. Also rectifies differences between the export and erase text for consistency and changes the order of paragraphs.
Props sabernhardt, joedolson.
Fixes#60097.
git-svn-id: https://develop.svn.wordpress.org/trunk@58021 602fd350-edb4-49c9-b593-d223f7449a82
This matches the type expected by the `setcookie()` function for the `$domain` parameter, and resolves a fatal error if `strict_types` is enabled.
Reference: [https://www.php.net/setcookie PHP Manual: setcookie()].
Follow-up to [2725], [6434], [12732], [13062].
Props kmvan, rajinsharwar, jrf, desrosj, Cybr, nicolefurlan, oglekler, hellofromTonya, kirasong, chaion07, mukesh27.
Fixes#46550.
git-svn-id: https://develop.svn.wordpress.org/trunk@58011 602fd350-edb4-49c9-b593-d223f7449a82
In this patch, the test suite from html5lib validates the tree-construction
steps in the HTML Processor to ensure that they are behaving according to the
HTML specification. This suite of tests is also used by the servo project to
test its html5ever package.
A new test module in the HTML API transforms HTML Processor output to match
the expected tree shape from the external tests. For cases where there are
tests validating behaviors of unsupported HTML tags and constructs, the tests
are marked as skipped. As the HTML API continues to expand its own support,
the number of skipped tests will automatically shrink down towards zero.
Additional tests are skipped through the `SKIP_TEST` array in the test runner.
Fixes#60227.
See #58517.
Props azaozz, costdev, dmsnell, hellofromtonya, jonsurrell, jorbin, swisspidy.
git-svn-id: https://develop.svn.wordpress.org/trunk@58010 602fd350-edb4-49c9-b593-d223f7449a82
In PHP 8.4, declaring function or method parameters with a default value of `null` is deprecated if the type is not nullable.
PHP applications are recommended to ''explicitly'' declare the type as nullable. All type declarations that have a default value of `null`, but without declaring `null` in the type declaration, will emit a deprecation notice:
{{{
function test( array $value = null ) {}
}}}
`Deprecated: Implicitly marking parameter $value as nullable is deprecated, the explicit nullable type must be used instead`
**Recommended Changes**
Change the implicit nullable type declaration to a nullable type declaration, available since PHP 7.1:
{{{#!diff
- function test( string $test = null ) {}
+ function test( ?string $test = null ) {}
}}}
This commit updates the affected instances in core to use a nullable type declaration.
References:
* [https://wiki.php.net/rfc/deprecate-implicitly-nullable-types PHP RFC: Deprecate implicitly nullable parameter types]
* [https://php.watch/versions/8.4/implicitly-marking-parameter-type-nullable-deprecated PHP.Watch: PHP 8.4: Implicitly nullable parameter declarations deprecated]
Follow-up to [28731], [50552], [57337], [57985].
Props ayeshrajans, jrf, audrasjb, jorbin.
Fixes#60786.
git-svn-id: https://develop.svn.wordpress.org/trunk@58009 602fd350-edb4-49c9-b593-d223f7449a82
This fixes the issue where negative values aren't allows in older versions of IE. There is more discussion in another ticket on a wider approach, but for now the decision to commit this was made as an interim solution.
Props mukesh27, SergeyBiryukov, sabernhardt, poena.
Fixes#46771.
git-svn-id: https://develop.svn.wordpress.org/trunk@58005 602fd350-edb4-49c9-b593-d223f7449a82
Now that the Blocks Hooks API is released in 6.4, you might want to insert blocks into header of the theme after the Navigation block. This wraps to allow this.
Props tomjcafferkey, poena, shailu25.
Fixes#60724.
git-svn-id: https://develop.svn.wordpress.org/trunk@58004 602fd350-edb4-49c9-b593-d223f7449a82