Make WordPress Core


Ignore:
Timestamp:
11/30/2017 11:09:33 PM (7 years ago)
Author:
pento
Message:

Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.

File:
1 edited

Legend:

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

    r42226 r42343  
    1010    /**
    1111     * Query log
     12     *
    1213     * @var array
    1314     */
     
    1617    /**
    1718     * Our special WPDB
     19     *
    1820     * @var resource
    1921     */
     
    4446    /**
    4547     * Log each query
     48     *
    4649     * @param string $sql
    4750     * @return string
     
    5457    /**
    5558     * Test that WPDB will reconnect when the DB link dies
     59     *
    5660     * @ticket 5932
    5761     */
     
    7579    /**
    7680     * Test that floats formatted as "0,700" get sanitized properly by wpdb
     81     *
    7782     * @global mixed $wpdb
    7883     *
     
    8792        // Switch to Russian
    8893        $flag = setlocale( LC_ALL, 'ru_RU.utf8', 'rus', 'fr_FR.utf8', 'fr_FR', 'de_DE.utf8', 'de_DE', 'es_ES.utf8', 'es_ES' );
    89         if ( false === $flag )
     94        if ( false === $flag ) {
    9095            $this->markTestSkipped( 'No European languages available for testing' );
     96        }
    9197
    9298        // Try an update query
     
    105111
    106112        // Try a prepare
    107         $sql = $wpdb->prepare( "UPDATE test_table SET float_column = %f AND meta_id = %d", 0.7, 5 );
     113        $sql = $wpdb->prepare( 'UPDATE test_table SET float_column = %f AND meta_id = %d', 0.7, 5 );
    108114        $this->assertContains( '0.700', $sql );
    109115
     
    112118            if ( false !== strpos( $locale_setting, '=' ) ) {
    113119                list( $category, $locale ) = explode( '=', $locale_setting );
    114                 if ( defined( $category ) )
     120                if ( defined( $category ) ) {
    115121                    setlocale( constant( $category ), $locale );
     122                }
    116123            } else {
    117124                setlocale( LC_ALL, $locale_setting );
     
    126133        global $wpdb;
    127134
    128         $inputs = array(
     135        $inputs   = array(
    129136            'howdy%', //Single Percent
    130137            'howdy_', //Single Underscore
     
    141148        );
    142149
    143         foreach ($inputs as $key => $input) {
    144             $this->assertEquals($expected[$key], $wpdb->esc_like($input));
     150        foreach ( $inputs as $key => $input ) {
     151            $this->assertEquals( $expected[ $key ], $wpdb->esc_like( $input ) );
    145152        }
    146153    }
     
    157164     * @param $data string The haystack, raw.
    158165     * @param $like string The like phrase, raw.
    159         * @param $result string The expected comparison result; '1' = true, '0' = false
     166    * @param $result string The expected comparison result; '1' = true, '0' = false
    160167     */
    161168    function test_like_query( $data, $like, $result ) {
    162169        global $wpdb;
    163         return $this->assertEquals( $result, $wpdb->get_var( $wpdb->prepare( "SELECT %s LIKE %s", $data, $wpdb->esc_like( $like ) ) ) );
     170        return $this->assertEquals( $result, $wpdb->get_var( $wpdb->prepare( 'SELECT %s LIKE %s', $data, $wpdb->esc_like( $like ) ) ) );
    164171    }
    165172
     
    243250        $new_meta = "HAHA I HOPE THIS DOESN'T WORK";
    244251
    245         $col_meta = $wpdb->col_meta;
     252        $col_meta       = $wpdb->col_meta;
    246253        $wpdb->col_meta = $new_meta;
    247254
     
    266273    /**
    267274     * Test that an escaped %%f is not altered
     275     *
    268276     * @ticket 19861
    269277     */
     
    280288    /**
    281289     * Test that SQL modes are set correctly
     290     *
    282291     * @ticket 26847
    283292     */
     
    299308    /**
    300309     * Test that incompatible SQL modes are blocked
     310     *
    301311     * @ticket 26847
    302312     */
     
    316326    /**
    317327     * Test that incompatible SQL modes can be changed
     328     *
    318329     * @ticket 26847
    319330     */
     
    339350        $this->assertGreaterThanOrEqual( 0, $pos );
    340351
    341         if ( FALSE === $pos ) {
     352        if ( false === $pos ) {
    342353            return $modes;
    343354        }
     
    362373        global $wpdb;
    363374
    364         $prepared = $wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", 1, "admin" );
     375        $prepared = $wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", 1, 'admin' );
    365376        $this->assertEquals( "SELECT * FROM $wpdb->users WHERE id = 1 AND user_login = 'admin'", $prepared );
    366377    }
     
    372383        global $wpdb;
    373384
    374         $prepared = @$wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", 1, array( "admin" ) );
     385        $prepared = @$wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", 1, array( 'admin' ) );
    375386        $this->assertEquals( "SELECT * FROM $wpdb->users WHERE id = 1 AND user_login = ''", $prepared );
    376387
    377         $prepared = @$wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", array( 1 ), "admin" );
     388        $prepared = @$wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", array( 1 ), 'admin' );
    378389        $this->assertEquals( "SELECT * FROM $wpdb->users WHERE id = 0 AND user_login = 'admin'", $prepared );
    379390    }
     
    382393        global $wpdb;
    383394
    384         $prepared = $wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", array( 1, "admin" ) );
     395        $prepared = $wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", array( 1, 'admin' ) );
    385396        $this->assertEquals( "SELECT * FROM $wpdb->users WHERE id = 1 AND user_login = 'admin'", $prepared );
    386397    }
     
    392403        global $wpdb;
    393404
    394         $prepared = @$wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", array( 1, array( "admin" ) ) );
     405        $prepared = @$wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", array( 1, array( 'admin' ) ) );
    395406        $this->assertEquals( "SELECT * FROM $wpdb->users WHERE id = 1 AND user_login = ''", $prepared );
    396407
    397         $prepared = @$wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", array( array( 1 ), "admin" ) );
     408        $prepared = @$wpdb->prepare( "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s", array( array( 1 ), 'admin' ) );
    398409        $this->assertEquals( "SELECT * FROM $wpdb->users WHERE id = 0 AND user_login = 'admin'", $prepared );
    399410    }
     
    420431            array(
    421432                "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s",     // Query
    422                 array( 1, "admin", "extra-arg" ),                                   // ::prepare() args, to be passed via call_user_func_array
     433                array( 1, 'admin', 'extra-arg' ),                                   // ::prepare() args, to be passed via call_user_func_array
    423434                "SELECT * FROM $wpdb->users WHERE id = 1 AND user_login = 'admin'", // Expected output
    424435            ),
     
    430441            array(
    431442                "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s",
    432                 array( array( 1, "admin", "extra-arg" ) ),
     443                array( array( 1, 'admin', 'extra-arg' ) ),
    433444                "SELECT * FROM $wpdb->users WHERE id = 1 AND user_login = 'admin'",
    434445            ),
    435446            array(
    436447                "SELECT * FROM $wpdb->users WHERE id = %d AND %% AND user_login = %s",
    437                 array( 1, "admin", "extra-arg" ),
     448                array( 1, 'admin', 'extra-arg' ),
    438449                "SELECT * FROM $wpdb->users WHERE id = 1 AND {$wpdb->placeholder_escape()} AND user_login = 'admin'",
    439450            ),
    440451            array(
    441452                "SELECT * FROM $wpdb->users WHERE id = %%%d AND %F AND %f AND user_login = %s",
    442                 array( 1, 2.3, "4.5", "admin", "extra-arg" ),
     453                array( 1, 2.3, '4.5', 'admin', 'extra-arg' ),
    443454                "SELECT * FROM $wpdb->users WHERE id = {$wpdb->placeholder_escape()}1 AND 2.300000 AND 4.500000 AND user_login = 'admin'",
    444455            ),
    445456            array(
    446457                "SELECT * FROM $wpdb->users WHERE id = %d AND user_login = %s",
    447                 array( array( 1 ), "admin", "extra-arg" ),
     458                array( array( 1 ), 'admin', 'extra-arg' ),
    448459                "SELECT * FROM $wpdb->users WHERE id = 0 AND user_login = 'admin'",
    449460            ),
    450461            array(
    451462                "SELECT * FROM $wpdb->users WHERE id = %d and user_nicename = %s and user_status = %d and user_login = %s",
    452                 array( 1, "admin", 0 ),
     463                array( 1, 'admin', 0 ),
    453464                '',
    454465            ),
    455466            array(
    456467                "SELECT * FROM $wpdb->users WHERE id = %d and user_nicename = %s and user_status = %d and user_login = %s",
    457                 array( array( 1, "admin", 0 ) ),
     468                array( array( 1, 'admin', 0 ) ),
    458469                '',
    459470            ),
    460471            array(
    461472                "SELECT * FROM $wpdb->users WHERE id = %d and %% and user_login = %s and user_status = %d and user_login = %s",
    462                 array( 1, "admin", "extra-arg" ),
     473                array( 1, 'admin', 'extra-arg' ),
    463474                '',
    464475            ),
     
    474485    function test_get_caller() {
    475486        global $wpdb;
    476         $str = $wpdb->get_caller();
    477         $calls = explode( ', ', $str );
     487        $str    = $wpdb->get_caller();
     488        $calls  = explode( ', ', $str );
    478489        $called = join( '->', array( __CLASS__, __FUNCTION__ ) );
    479490        $this->assertEquals( $called, end( $calls ) );
     
    567578        $last = $wpdb->insert_id;
    568579
    569         $rows2 = $wpdb->replace( $wpdb->users, array( 'ID' => $last, 'display_name' => 'Walter Replace Sobchak' ) );
     580        $rows2 = $wpdb->replace(
     581            $wpdb->users, array(
     582                'ID'           => $last,
     583                'display_name' => 'Walter Replace Sobchak',
     584            )
     585        );
    570586        $this->assertEquals( 2, $rows2 );
    571587        $this->assertNotEmpty( $wpdb->insert_id );
     
    613629
    614630        $wpdb->query( 'DROP PROCEDURE IF EXISTS `test_mysqli_flush_sync_procedure`' );
    615         $wpdb->query( 'CREATE PROCEDURE `test_mysqli_flush_sync_procedure`() BEGIN
     631        $wpdb->query(
     632            'CREATE PROCEDURE `test_mysqli_flush_sync_procedure`() BEGIN
    616633            SELECT ID FROM `' . $wpdb->posts . '` LIMIT 1;
    617         END' );
     634        END'
     635        );
    618636
    619637        if ( count( $wpdb->get_results( 'SHOW CREATE PROCEDURE `test_mysqli_flush_sync_procedure`' ) ) < 1 ) {
     
    638656     */
    639657    function data_get_table_from_query() {
    640         $table = 'a_test_table_name';
     658        $table       = 'a_test_table_name';
    641659        $more_tables = array(
    642660            // table_name => expected_value
     
    742760
    743761            // @ticket 32763
    744             "SELECT " . str_repeat( 'a', 10000 ) . " FROM (SELECT * FROM $table) as subquery",
     762            'SELECT ' . str_repeat( 'a', 10000 ) . " FROM (SELECT * FROM $table) as subquery",
    745763        );
    746764
     
    787805            // Equality
    788806            array( "SHOW TABLE STATUS WHERE Name = 'test_name'", 'test_name' ),
    789             array( "SHOW TABLE STATUS WHERE NAME=\"test_name\"", 'test_name' ),
    790             array( "SHOW TABLES WHERE Name = \"test_name\"",    'test_name' ),
    791             array( "SHOW FULL TABLES WHERE Name='test_name'",    'test_name' ),
     807            array( 'SHOW TABLE STATUS WHERE NAME="test_name"', 'test_name' ),
     808            array( 'SHOW TABLES WHERE Name = "test_name"', 'test_name' ),
     809            array( "SHOW FULL TABLES WHERE Name='test_name'", 'test_name' ),
    792810
    793811            // LIKE
    794             array( "SHOW TABLE STATUS LIKE 'test\_prefix\_%'",   'test_prefix_' ),
    795             array( "SHOW TABLE STATUS LIKE \"test\_prefix\_%\"", 'test_prefix_' ),
    796             array( "SHOW TABLES LIKE 'test\_prefix\_%'",         'test_prefix_' ),
    797             array( "SHOW FULL TABLES LIKE \"test\_prefix\_%\"", 'test_prefix_' ),
     812            array( "SHOW TABLE STATUS LIKE 'test\_prefix\_%'", 'test_prefix_' ),
     813            array( 'SHOW TABLE STATUS LIKE "test\_prefix\_%"', 'test_prefix_' ),
     814            array( "SHOW TABLES LIKE 'test\_prefix\_%'", 'test_prefix_' ),
     815            array( 'SHOW FULL TABLES LIKE "test\_prefix\_%"', 'test_prefix_' ),
    798816        );
    799817    }
     
    812830    function data_process_field_formats() {
    813831        $core_db_fields_no_format_specified = array(
    814             array( 'post_content' => 'foo', 'post_parent' => 0 ),
     832            array(
     833                'post_content' => 'foo',
     834                'post_parent'  => 0,
     835            ),
    815836            null,
    816837            array(
    817                 'post_content' => array( 'value' => 'foo', 'format' => '%s' ),
    818                 'post_parent' => array( 'value' => 0, 'format' => '%d' ),
    819             )
     838                'post_content' => array(
     839                    'value'  => 'foo',
     840                    'format' => '%s',
     841                ),
     842                'post_parent'  => array(
     843                    'value'  => 0,
     844                    'format' => '%d',
     845                ),
     846            ),
    820847        );
    821848
    822849        $core_db_fields_formats_specified = array(
    823             array( 'post_content' => 'foo', 'post_parent' => 0 ),
     850            array(
     851                'post_content' => 'foo',
     852                'post_parent'  => 0,
     853            ),
    824854            array( '%d', '%s' ), // These override core field_types
    825855            array(
    826                 'post_content' => array( 'value' => 'foo', 'format' => '%d' ),
    827                 'post_parent' => array( 'value' => 0, 'format' => '%s' ),
    828             )
     856                'post_content' => array(
     857                    'value'  => 'foo',
     858                    'format' => '%d',
     859                ),
     860                'post_parent'  => array(
     861                    'value'  => 0,
     862                    'format' => '%s',
     863                ),
     864            ),
    829865        );
    830866
    831867        $misc_fields_no_format_specified = array(
    832             array( 'this_is_not_a_core_field' => 'foo', 'this_is_not_either' => 0 ),
     868            array(
     869                'this_is_not_a_core_field' => 'foo',
     870                'this_is_not_either'       => 0,
     871            ),
    833872            null,
    834873            array(
    835                 'this_is_not_a_core_field' => array( 'value' => 'foo', 'format' => '%s' ),
    836                 'this_is_not_either' => array( 'value' => 0, 'format' => '%s' ),
    837             )
     874                'this_is_not_a_core_field' => array(
     875                    'value'  => 'foo',
     876                    'format' => '%s',
     877                ),
     878                'this_is_not_either'       => array(
     879                    'value'  => 0,
     880                    'format' => '%s',
     881                ),
     882            ),
    838883        );
    839884
    840885        $misc_fields_formats_specified = array(
    841             array( 'this_is_not_a_core_field' => 0, 'this_is_not_either' => 1.2 ),
     886            array(
     887                'this_is_not_a_core_field' => 0,
     888                'this_is_not_either'       => 1.2,
     889            ),
    842890            array( '%d', '%f' ),
    843891            array(
    844                 'this_is_not_a_core_field' => array( 'value' => 0, 'format' => '%d' ),
    845                 'this_is_not_either' => array( 'value' => 1.2, 'format' => '%f' ),
    846             )
     892                'this_is_not_a_core_field' => array(
     893                    'value'  => 0,
     894                    'format' => '%d',
     895                ),
     896                'this_is_not_either'       => array(
     897                    'value'  => 1.2,
     898                    'format' => '%f',
     899                ),
     900            ),
    847901        );
    848902
    849903        $misc_fields_insufficient_formats_specified = array(
    850             array( 'this_is_not_a_core_field' => 0, 'this_is_not_either' => 's', 'nor_this' => 1 ),
     904            array(
     905                'this_is_not_a_core_field' => 0,
     906                'this_is_not_either'       => 's',
     907                'nor_this'                 => 1,
     908            ),
    851909            array( '%d', '%s' ), // The first format is used for the third
    852910            array(
    853                 'this_is_not_a_core_field' => array( 'value' => 0, 'format' => '%d' ),
    854                 'this_is_not_either' => array( 'value' => 's', 'format' => '%s' ),
    855                 'nor_this' => array( 'value' => 1, 'format' => '%d' ),
    856             )
     911                'this_is_not_a_core_field' => array(
     912                    'value'  => 0,
     913                    'format' => '%d',
     914                ),
     915                'this_is_not_either'       => array(
     916                    'value'  => 's',
     917                    'format' => '%s',
     918                ),
     919                'nor_this'                 => array(
     920                    'value'  => 1,
     921                    'format' => '%d',
     922                ),
     923            ),
    857924        );
    858925
     
    887954
    888955        if ( ! in_array( $expected_charset, array( 'utf8', 'utf8mb4', 'latin1' ) ) ) {
    889             $this->markTestSkipped( "This test only works with utf8, utf8mb4 or latin1 character sets" );
    890         }
    891 
    892         $data = array( 'post_content' => '¡foo foo foo!' );
     956            $this->markTestSkipped( 'This test only works with utf8, utf8mb4 or latin1 character sets' );
     957        }
     958
     959        $data     = array( 'post_content' => '¡foo foo foo!' );
    893960        $expected = array(
    894961            'post_content' => array(
    895                 'value' => '¡foo foo foo!',
    896                 'format' => '%s',
     962                'value'   => '¡foo foo foo!',
     963                'format'  => '%s',
    897964                'charset' => $expected_charset,
    898                 'length' => $wpdb->get_col_length( $wpdb->posts, 'post_content' ),
    899             )
     965                'length'  => $wpdb->get_col_length( $wpdb->posts, 'post_content' ),
     966            ),
    900967        );
    901968
     
    9531020            $wpdb->postmeta,
    9541021            array(
    955                 'meta_key' => $key,
    956                 'meta_value' => NULL
     1022                'meta_key'   => $key,
     1023                'meta_value' => null,
    9571024            ),
    9581025            array( '%s', '%s' )
     
    9701037        global $wpdb;
    9711038
    972         $key = 'null_update_value_key';
     1039        $key   = 'null_update_value_key';
    9731040        $value = 'null_update_value_key';
    9741041
     
    9761043            $wpdb->postmeta,
    9771044            array(
    978                 'meta_key' => $key,
    979                 'meta_value' => $value
     1045                'meta_key'   => $key,
     1046                'meta_value' => $value,
    9801047            ),
    9811048            array( '%s', '%s' )
     
    9881055        $wpdb->update(
    9891056            $wpdb->postmeta,
    990             array( 'meta_value' => NULL ),
    991             array(
    992                 'meta_key' => $key,
    993                 'meta_value' => $value
     1057            array( 'meta_value' => null ),
     1058            array(
     1059                'meta_key'   => $key,
     1060                'meta_value' => $value,
    9941061            ),
    9951062            array( '%s' ),
     
    10081075        global $wpdb;
    10091076
    1010         $key = 'null_update_where_key';
     1077        $key   = 'null_update_where_key';
    10111078        $value = 'null_update_where_key';
    10121079
     
    10141081            $wpdb->postmeta,
    10151082            array(
    1016                 'meta_key' => $key,
    1017                 'meta_value' => NULL
     1083                'meta_key'   => $key,
     1084                'meta_value' => null,
    10181085            ),
    10191086            array( '%s', '%s' )
     
    10281095            array( 'meta_value' => $value ),
    10291096            array(
    1030                 'meta_key' => $key,
    1031                 'meta_value' => NULL
     1097                'meta_key'   => $key,
     1098                'meta_value' => null,
    10321099            ),
    10331100            array( '%s' ),
     
    10461113        global $wpdb;
    10471114
    1048         $key = 'null_update_where_key';
     1115        $key   = 'null_update_where_key';
    10491116        $value = 'null_update_where_key';
    10501117
     
    10521119            $wpdb->postmeta,
    10531120            array(
    1054                 'meta_key' => $key,
    1055                 'meta_value' => NULL
     1121                'meta_key'   => $key,
     1122                'meta_value' => null,
    10561123            ),
    10571124            array( '%s', '%s' )
     
    10651132            $wpdb->postmeta,
    10661133            array(
    1067                 'meta_key' => $key,
    1068                 'meta_value' => NULL
     1134                'meta_key'   => $key,
     1135                'meta_value' => null,
    10691136            ),
    10701137            array( '%s', '%s' )
     
    11911258     * @dataProvider data_prepare_with_placeholders
    11921259     */
    1193     function test_prepare_with_placeholders_and_individual_args( $sql, $values, $incorrect_usage, $expected) {
     1260    function test_prepare_with_placeholders_and_individual_args( $sql, $values, $incorrect_usage, $expected ) {
    11941261        global $wpdb;
    11951262
     
    12111278     * @dataProvider data_prepare_with_placeholders
    12121279     */
    1213     function test_prepare_with_placeholders_and_array_args( $sql, $values, $incorrect_usage, $expected) {
     1280    function test_prepare_with_placeholders_and_array_args( $sql, $values, $incorrect_usage, $expected ) {
    12141281        global $wpdb;
    12151282
     
    13061373                array( 1, 'hello' ),
    13071374                false,
    1308                 "1 hello",
     1375                '1 hello',
    13091376            ),
    13101377            array(
     
    13721439                array( 1, 2 ),
    13731440                false,
    1374                 "WHERE second=2 AND first=1",
     1441                'WHERE second=2 AND first=1',
    13751442            ),
    13761443            array(
Note: See TracChangeset for help on using the changeset viewer.