Make WordPress Core

Changeset 53577


Ignore:
Timestamp:
06/25/2022 02:43:27 PM (2 years ago)
Author:
SergeyBiryukov
Message:

Tests: Remove multiple $wpdb::placeholder_escape() calls in wpdb tests.

This aims to improve performance of the tests by reducing the number of function calls.

Since $wpdb::placeholder_escape() saves the result in a static variable on the first run, there is no need for repeated function calls during the same request or test run, as the result would still be the same.

Follow-up to [42056].

See #55652.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/db.php

    r53575 r53577  
    425425        global $wpdb;
    426426
     427        $placeholder_escape = $wpdb->placeholder_escape();
     428
    427429        return array(
    428430            array(
     
    444446                "SELECT * FROM $wpdb->users WHERE id = %d AND %% AND user_login = %s",
    445447                array( 1, 'admin', 'extra-arg' ),
    446                 "SELECT * FROM $wpdb->users WHERE id = 1 AND {$wpdb->placeholder_escape()} AND user_login = 'admin'",
     448                "SELECT * FROM $wpdb->users WHERE id = 1 AND {$placeholder_escape} AND user_login = 'admin'",
    447449            ),
    448450            array(
    449451                "SELECT * FROM $wpdb->users WHERE id = %%%d AND %F AND %f AND user_login = %s",
    450452                array( 1, 2.3, '4.5', 'admin', 'extra-arg' ),
    451                 "SELECT * FROM $wpdb->users WHERE id = {$wpdb->placeholder_escape()}1 AND 2.300000 AND 4.500000 AND user_login = 'admin'",
     453                "SELECT * FROM $wpdb->users WHERE id = {$placeholder_escape}1 AND 2.300000 AND 4.500000 AND user_login = 'admin'",
    452454            ),
    453455            array(
     
    15511553        global $wpdb;
    15521554
     1555        $placeholder_escape = $wpdb->placeholder_escape();
     1556
    15531557        return array(
    15541558            array(
     
    15621566                1,
    15631567                true,
    1564                 "1 {$wpdb->placeholder_escape()}{$wpdb->placeholder_escape()} {$wpdb->placeholder_escape()} {$wpdb->placeholder_escape()}1\$d{$wpdb->placeholder_escape()} {$wpdb->placeholder_escape()}1{$wpdb->placeholder_escape()}",
     1568                "1 {$placeholder_escape}{$placeholder_escape} {$placeholder_escape} {$placeholder_escape}1\$d{$placeholder_escape} {$placeholder_escape}1{$placeholder_escape}",
    15651569            ),
    15661570            array(
     
    16041608                ' %s ',
    16051609                false,
    1606                 "' {$wpdb->placeholder_escape()}s '",
     1610                "' {$placeholder_escape}s '",
    16071611            ),
    16081612            array(
     
    16101614                ' %s ',
    16111615                false,
    1612                 " {$wpdb->placeholder_escape()}s ",
     1616                " {$placeholder_escape}s ",
    16131617            ),
    16141618            array(
     
    16161620                ' %1$s ',
    16171621                false,
    1618                 " {$wpdb->placeholder_escape()}1\$s ",
     1622                " {$placeholder_escape}1\$s ",
    16191623            ),
    16201624            array(
     
    16221626                1,
    16231627                true,
    1624                 "1 1 {$wpdb->placeholder_escape()}{$wpdb->placeholder_escape()} {$wpdb->placeholder_escape()}",
     1628                "1 1 {$placeholder_escape}{$placeholder_escape} {$placeholder_escape}",
    16251629            ),
    16261630            array(
     
    16641668                'hello',
    16651669                false,
    1666                 "{$wpdb->placeholder_escape()}s {$wpdb->placeholder_escape()}'hello'",
     1670                "{$placeholder_escape}s {$placeholder_escape}'hello'",
    16671671            ),
    16681672            array(
     
    16701674                'hello',
    16711675                false,
    1672                 "{$wpdb->placeholder_escape()}s {$wpdb->placeholder_escape()}\"hello\"",
     1676                "{$placeholder_escape}s {$placeholder_escape}\"hello\"",
    16731677            ),
    16741678            array(
     
    16761680                ' %  s ',
    16771681                false,
    1678                 "' {$wpdb->placeholder_escape()}  s '",
     1682                "' {$placeholder_escape}  s '",
    16791683            ),
    16801684            array(
     
    16821686                3,
    16831687                false,
    1684                 "{$wpdb->placeholder_escape()}f {$wpdb->placeholder_escape()}\"3.000000\"",
     1688                "{$placeholder_escape}f {$placeholder_escape}\"3.000000\"",
    16851689            ),
    16861690            array(
     
    17001704                'hello',
    17011705                true,
    1702                 "'{$wpdb->placeholder_escape()}'{$wpdb->placeholder_escape()}s",
     1706                "'{$placeholder_escape}'{$placeholder_escape}s",
    17031707            ),
    17041708            array(
     
    17061710                'hello',
    17071711                false,
    1708                 "'{$wpdb->placeholder_escape()}'{$wpdb->placeholder_escape()}s'hello'",
     1712                "'{$placeholder_escape}'{$placeholder_escape}s'hello'",
    17091713            ),
    17101714            array(
     
    17121716                'hello',
    17131717                false,
    1714                 "'{$wpdb->placeholder_escape()}'{$wpdb->placeholder_escape()}s 'hello'",
     1718                "'{$placeholder_escape}'{$placeholder_escape}s 'hello'",
    17151719            ),
    17161720            array(
     
    17601764                array( 'evil_%s_field', 321 ),
    17611765                false,
    1762                 "WHERE `evil_{$wpdb->placeholder_escape()}s_field` = 321;",
     1766                "WHERE `evil_{$placeholder_escape}s_field` = 321;",
    17631767            ),
    17641768            array(
     
    18651869    public function data_escape_and_prepare() {
    18661870        global $wpdb;
     1871
     1872        $placeholder_escape = $wpdb->placeholder_escape();
     1873
    18671874        return array(
    18681875            array(
     
    18711878                'foo',                                 // Data to send to prepare().
    18721879                true,                                  // Whether to expect an incorrect usage error or not.
    1873                 " {$wpdb->placeholder_escape()}s ",    // Expected output.
     1880                " {$placeholder_escape}s ",    // Expected output.
    18741881            ),
    18751882            array(
     
    18851892                'foo',
    18861893                false,
    1887                 " 'foo' {$wpdb->placeholder_escape()}s ",
     1894                " 'foo' {$placeholder_escape}s ",
    18881895            ),
    18891896        );
Note: See TracChangeset for help on using the changeset viewer.