Make WordPress Core

Changeset 54725


Ignore:
Timestamp:
10/30/2022 03:48:53 AM (2 years ago)
Author:
SergeyBiryukov
Message:

Tests: Prevent wp_update_themes() from running in wp_ajax_update_theme() tests.

In the tests for updating a theme via Ajax, wp_installing( true ) is called to prevent wp_update_themes() from running.

This worked as expected in test_update_theme(), however, it was missed in test_uppercase_theme_slug(), which was accidentally relying on the wp_installing() status not being properly restored in the previous test.

Now that the wp_installing() status was corrected in [54723], the latter test started throwing an error on PHP 8.2:

1) Tests_Ajax_wpAjaxUpdateTheme::test_uppercase_theme_slug
http_build_query(): Passing null to parameter #2 ($numeric_prefix) of type string is deprecated

/var/www/src/wp-includes/Requests/Transport/cURL.php:345
/var/www/src/wp-includes/Requests/Transport/cURL.php:135
/var/www/src/wp-includes/class-requests.php:381
/var/www/src/wp-includes/class-wp-http.php:395
/var/www/src/wp-includes/class-wp-http.php:615
/var/www/src/wp-includes/http.php:179
/var/www/src/wp-includes/update.php:719
/var/www/src/wp-admin/includes/ajax-actions.php:4292
/var/www/src/wp-includes/class-wp-hook.php:308
/var/www/src/wp-includes/class-wp-hook.php:332
/var/www/src/wp-includes/plugin.php:517
/var/www/tests/phpunit/includes/testcase-ajax.php:265
/var/www/tests/phpunit/tests/ajax/wpAjaxUpdateTheme.php:157

Replicating the wp_installing() status changes in this test too resolves the error.

Follow-up to [38168], [38710], [54722], [54723].

See #56793.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/ajax/wpAjaxUpdateTheme.php

    r54723 r54725  
    153153        $_POST['slug']        = 'camelCase';
    154154
     155        // Prevent wp_update_themes() from running.
     156        wp_installing( true );
     157
    155158        // Make the request.
    156159        try {
     
    159162            unset( $e );
    160163        }
     164
     165        wp_installing( false );
    161166
    162167        // Get the response.
Note: See TracChangeset for help on using the changeset viewer.