Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
PHP 8.1 | load_script_textdomain(): fix passing null to non-nullable
The `$path` parameter has a default value of `null`, but would be passed onto the `untrailingslashit()` function without any input validation, even though the `untrailingslashit()` function explicitly only expects/supports a string input. > 👉 An alternative - and possibly better - solution would be to change the default value of the `$path` parameter to an empty string. > However, such a change would have a wider impact as all function calls which currently pass the `null` default value for `$path` would need to be updated as well. Within WP, this is largely an issue in the tests, but it _could_ potentially have an impact on external calls to the function as well. Note: I'm explicitly not changing the `untrailingslashit()` function, but fixing this at the point where the invalid input is incorrectly (not) validated. Includes adding a dedicated unit test for this issue. This fix also allows to remove a couple of calls to `expectDeprecation()` in unrelated tests. Fixes: ``` 4) Tests_Dependencies_Scripts::test_wp_external_wp_i18n_print_order rtrim(): Passing null to parameter #1 ($string) of type string is deprecated /var/www/src/wp-includes/formatting.php:2782 /var/www/src/wp-includes/l10n.php:1068 /var/www/src/wp-includes/class.wp-scripts.php:605 /var/www/src/wp-includes/class.wp-scripts.php:320 /var/www/src/wp-includes/class.wp-dependencies.php:136 /var/www/src/wp-includes/functions.wp-scripts.php:109 /var/www/tests/phpunit/tests/dependencies/scripts.php:1505 /var/www/tests/phpunit/includes/utils.php:436 /var/www/tests/phpunit/tests/dependencies/scripts.php:1507 /var/www/vendor/bin/phpunit:123 ```
- Loading branch information