Make WordPress Core


Ignore:
Timestamp:
11/30/2017 11:09:33 PM (9 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/option/multisite.php

    r41242 r42343  
    33if ( is_multisite() ) :
    44
    5 /**
    6  * Tests specific to network and site options in Multisite.
    7  *
    8  * @group option
    9  * @group ms-option
    10  * @group multisite
    11  */
    12 class Tests_Multisite_Option extends WP_UnitTestCase {
    13         protected $suppress = false;
    14 
    15         function setUp() {
    16                 global $wpdb;
    17                 parent::setUp();
    18                 $this->suppress = $wpdb->suppress_errors();
    19         }
    20 
    21         function tearDown() {
    22                 global $wpdb;
    23                 $wpdb->suppress_errors( $this->suppress );
    24                 parent::tearDown();
    25         }
    26 
    27         function test_from_same_site() {
    28                 $key    = __FUNCTION__ . '_1';
    29                 $key2   = __FUNCTION__ . '_2';
    30                 $value  = __FUNCTION__ . '_val1';
    31                 $value2 = __FUNCTION__ . '_val2';
    32 
    33                 $this->assertFalse( get_blog_option( 1, 'doesnotexist' ) );
    34                 $this->assertFalse( get_option( 'doesnotexist' ) ); // check get_option()
    35 
    36                 $this->assertTrue( add_blog_option( 1, $key, $value ) );
    37                 // Assert all values of $blog_id that means the current or main blog (the same here).
    38                 $this->assertEquals( $value, get_blog_option( 1, $key ) );
    39                 $this->assertEquals( $value, get_blog_option( null, $key ) );
    40                 $this->assertEquals( $value, get_blog_option( '1', $key ) );
    41                 $this->assertEquals( $value, get_option( $key ) ); // check get_option()
    42 
    43                 $this->assertFalse( add_blog_option( 1, $key, $value ) );  // Already exists
    44                 $this->assertFalse( update_blog_option( 1, $key, $value ) );  // Value is the same
    45                 $this->assertTrue( update_blog_option( 1, $key, $value2 ) );
    46                 $this->assertEquals( $value2, get_blog_option( 1, $key ) );
    47                 $this->assertEquals( $value2, get_option( $key ) ); // check get_option()
    48                 $this->assertFalse( add_blog_option( 1, $key, $value ) );
    49                 $this->assertEquals( $value2, get_blog_option( 1, $key ) );
    50                 $this->assertEquals( $value2, get_option( $key ) ); // check get_option()
    51 
    52                 $this->assertTrue( delete_blog_option( 1, $key ) );
    53                 $this->assertFalse( get_blog_option( 1, $key ) );
    54                 $this->assertFalse( get_option( $key ) ); // check get_option()
    55                 $this->assertFalse( delete_blog_option( 1, $key ) );
    56                 $this->assertTrue( update_blog_option( 1, $key2, $value2 ) );
    57                 $this->assertEquals( $value2, get_blog_option( 1, $key2 ) );
    58                 $this->assertEquals( $value2, get_option( $key2 ) ); // check get_option()
    59                 $this->assertTrue( delete_blog_option( 1, $key2 ) );
    60                 $this->assertFalse( get_blog_option( 1, $key2 ) );
    61                 $this->assertFalse( get_option( $key2 ) ); // check get_option()
    62         }
    63 
    64         function test_from_same_site_with_null_blog_id() {
    65                 $key    = __FUNCTION__ . '_1';
    66                 $key2   = __FUNCTION__ . '_2';
    67                 $value  = __FUNCTION__ . '_val1';
    68                 $value2 = __FUNCTION__ . '_val2';
    69 
    70                 $this->assertFalse( get_blog_option( null, 'doesnotexist' ) );
    71                 $this->assertFalse( get_option( 'doesnotexist' ) ); // check get_option()
    72 
    73                 $this->assertTrue( add_blog_option( null, $key, $value ) );
    74                 // Assert all values of $blog_id that means the current or main blog (the same here).
    75                 $this->assertEquals( $value, get_blog_option( null, $key ) );
    76                 $this->assertEquals( $value, get_blog_option( null, $key ) );
    77                 $this->assertEquals( $value, get_option( $key ) ); // check get_option()
    78 
    79                 $this->assertFalse( add_blog_option( null, $key, $value ) );  // Already exists
    80                 $this->assertFalse( update_blog_option( null, $key, $value ) );  // Value is the same
    81                 $this->assertTrue( update_blog_option( null, $key, $value2 ) );
    82                 $this->assertEquals( $value2, get_blog_option( null, $key ) );
    83                 $this->assertEquals( $value2, get_option( $key ) ); // check get_option()
    84                 $this->assertFalse( add_blog_option( null, $key, $value ) );
    85                 $this->assertEquals( $value2, get_blog_option( null, $key ) );
    86                 $this->assertEquals( $value2, get_option( $key ) ); // check get_option()
    87 
    88                 $this->assertTrue( delete_blog_option( null, $key ) );
    89                 $this->assertFalse( get_blog_option( null, $key ) );
    90                 $this->assertFalse( get_option( $key ) ); // check get_option()
    91                 $this->assertFalse( delete_blog_option( null, $key ) );
    92                 $this->assertTrue( update_blog_option( null, $key2, $value2 ) );
    93                 $this->assertEquals( $value2, get_blog_option( null, $key2 ) );
    94                 $this->assertEquals( $value2, get_option( $key2 ) ); // check get_option()
    95                 $this->assertTrue( delete_blog_option( null, $key2 ) );
    96                 $this->assertFalse( get_blog_option( null, $key2 ) );
    97                 $this->assertFalse( get_option( $key2 ) ); // check get_option()
    98         }
    99 
    100         function test_with_another_site() {
    101                 $user_id = self::factory()->user->create();
    102                 $this->assertInternalType( 'integer', $user_id );
    103 
    104                 $blog_id = self::factory()->blog->create( array(
    105                         'user_id' => $user_id,
    106                         'meta'    => array(
    107                                 'public' => 1,
    108                         ),
    109                 ) );
    110                 $this->assertInternalType( 'integer', $blog_id );
    111 
    112                 $key    = __FUNCTION__ . '_key1';
    113                 $key2   = __FUNCTION__ . '_key2';
    114                 $value  = __FUNCTION__ . '_val1';
    115                 $value2 = __FUNCTION__ . '_val2';
    116 
    117                 $this->assertFalse( get_blog_option( $blog_id, 'doesnotexist' ) );
    118                 //$this->assertFalse( get_option( 'doesnotexist' ) ); // check get_option()
    119 
    120                 $this->assertTrue( add_blog_option( $blog_id, $key, $value ) );
    121                 // Assert all values of $blog_id that means the current or main blog (the same here).
    122                 $this->assertEquals( $value, get_blog_option( $blog_id, $key ) );
    123                 $this->assertEquals( $value, get_blog_option( "$blog_id", $key ) );
    124                 //$this->assertEquals( $value, get_option( $key ) ); // check get_option()
    125 
    126                 $this->assertFalse( add_blog_option( $blog_id, $key, $value ) );  // Already exists
    127                 $this->assertFalse( update_blog_option( $blog_id, $key, $value ) );  // Value is the same
    128                 $this->assertTrue( update_blog_option( $blog_id, $key, $value2 ) );
    129                 $this->assertEquals( $value2, get_blog_option( $blog_id, $key ) );
    130                 //$this->assertEquals( $value2, get_option( $key ) ); // check get_option()
    131                 $this->assertFalse( add_blog_option( $blog_id, $key, $value ) );
    132                 $this->assertEquals( $value2, get_blog_option( $blog_id, $key ) );
    133                 //$this->assertEquals( $value2, get_option( $key ) ); // check get_option()
    134 
    135                 $this->assertTrue( delete_blog_option( $blog_id, $key ) );
    136                 $this->assertFalse( get_blog_option( $blog_id, $key ) );
    137                 //$this->assertFalse( get_option( $key ) ); // check get_option()
    138                 $this->assertFalse( delete_blog_option( $blog_id, $key ) );
    139                 $this->assertTrue( update_blog_option( $blog_id, $key2, $value2 ) );
    140                 $this->assertEquals( $value2, get_blog_option( $blog_id, $key2 ) );
    141                 //$this->assertEquals( $value2, get_option( $key2 ) ); // check get_option()
    142                 $this->assertTrue( delete_blog_option( $blog_id, $key2 ) );
    143                 $this->assertFalse( get_blog_option( $blog_id, $key2 ) );
    144                 //$this->assertFalse( get_option( $key2 ) ); // check get_option()
    145         }
    146 
    1475        /**
     6         * Tests specific to network and site options in Multisite.
     7         *
     8         * @group option
     9         * @group ms-option
    14810         * @group multisite
    14911         */
    150         function test_site_notoptions() {
    151                 $network_id = get_current_network_id();
    152                 $notoptions_key = "{$network_id}:notoptions";
    153 
    154                 $_notoptions = wp_cache_get( 'notoptions', 'site-options' );
    155                 $this->assertEmpty( $_notoptions );
    156                 $_notoptions1 = wp_cache_get( $notoptions_key, 'site-options' );
    157                 $this->assertEmpty( $_notoptions1 );
    158 
    159                 get_site_option( 'burrito' );
    160 
    161                 $notoptions = wp_cache_get( 'notoptions', 'site-options' );
    162                 $this->assertEmpty( $notoptions );
    163                 $notoptions1 = wp_cache_get( $notoptions_key, 'site-options' );
    164                 $this->assertNotEmpty( $notoptions1 );
     12        class Tests_Multisite_Option extends WP_UnitTestCase {
     13                protected $suppress = false;
     14
     15                function setUp() {
     16                        global $wpdb;
     17                        parent::setUp();
     18                        $this->suppress = $wpdb->suppress_errors();
     19                }
     20
     21                function tearDown() {
     22                        global $wpdb;
     23                        $wpdb->suppress_errors( $this->suppress );
     24                        parent::tearDown();
     25                }
     26
     27                function test_from_same_site() {
     28                        $key    = __FUNCTION__ . '_1';
     29                        $key2   = __FUNCTION__ . '_2';
     30                        $value  = __FUNCTION__ . '_val1';
     31                        $value2 = __FUNCTION__ . '_val2';
     32
     33                        $this->assertFalse( get_blog_option( 1, 'doesnotexist' ) );
     34                        $this->assertFalse( get_option( 'doesnotexist' ) ); // check get_option()
     35
     36                        $this->assertTrue( add_blog_option( 1, $key, $value ) );
     37                        // Assert all values of $blog_id that means the current or main blog (the same here).
     38                        $this->assertEquals( $value, get_blog_option( 1, $key ) );
     39                        $this->assertEquals( $value, get_blog_option( null, $key ) );
     40                        $this->assertEquals( $value, get_blog_option( '1', $key ) );
     41                        $this->assertEquals( $value, get_option( $key ) ); // check get_option()
     42
     43                        $this->assertFalse( add_blog_option( 1, $key, $value ) );  // Already exists
     44                        $this->assertFalse( update_blog_option( 1, $key, $value ) );  // Value is the same
     45                        $this->assertTrue( update_blog_option( 1, $key, $value2 ) );
     46                        $this->assertEquals( $value2, get_blog_option( 1, $key ) );
     47                        $this->assertEquals( $value2, get_option( $key ) ); // check get_option()
     48                        $this->assertFalse( add_blog_option( 1, $key, $value ) );
     49                        $this->assertEquals( $value2, get_blog_option( 1, $key ) );
     50                        $this->assertEquals( $value2, get_option( $key ) ); // check get_option()
     51
     52                        $this->assertTrue( delete_blog_option( 1, $key ) );
     53                        $this->assertFalse( get_blog_option( 1, $key ) );
     54                        $this->assertFalse( get_option( $key ) ); // check get_option()
     55                        $this->assertFalse( delete_blog_option( 1, $key ) );
     56                        $this->assertTrue( update_blog_option( 1, $key2, $value2 ) );
     57                        $this->assertEquals( $value2, get_blog_option( 1, $key2 ) );
     58                        $this->assertEquals( $value2, get_option( $key2 ) ); // check get_option()
     59                        $this->assertTrue( delete_blog_option( 1, $key2 ) );
     60                        $this->assertFalse( get_blog_option( 1, $key2 ) );
     61                        $this->assertFalse( get_option( $key2 ) ); // check get_option()
     62                }
     63
     64                function test_from_same_site_with_null_blog_id() {
     65                        $key    = __FUNCTION__ . '_1';
     66                        $key2   = __FUNCTION__ . '_2';
     67                        $value  = __FUNCTION__ . '_val1';
     68                        $value2 = __FUNCTION__ . '_val2';
     69
     70                        $this->assertFalse( get_blog_option( null, 'doesnotexist' ) );
     71                        $this->assertFalse( get_option( 'doesnotexist' ) ); // check get_option()
     72
     73                        $this->assertTrue( add_blog_option( null, $key, $value ) );
     74                        // Assert all values of $blog_id that means the current or main blog (the same here).
     75                        $this->assertEquals( $value, get_blog_option( null, $key ) );
     76                        $this->assertEquals( $value, get_blog_option( null, $key ) );
     77                        $this->assertEquals( $value, get_option( $key ) ); // check get_option()
     78
     79                        $this->assertFalse( add_blog_option( null, $key, $value ) );  // Already exists
     80                        $this->assertFalse( update_blog_option( null, $key, $value ) );  // Value is the same
     81                        $this->assertTrue( update_blog_option( null, $key, $value2 ) );
     82                        $this->assertEquals( $value2, get_blog_option( null, $key ) );
     83                        $this->assertEquals( $value2, get_option( $key ) ); // check get_option()
     84                        $this->assertFalse( add_blog_option( null, $key, $value ) );
     85                        $this->assertEquals( $value2, get_blog_option( null, $key ) );
     86                        $this->assertEquals( $value2, get_option( $key ) ); // check get_option()
     87
     88                        $this->assertTrue( delete_blog_option( null, $key ) );
     89                        $this->assertFalse( get_blog_option( null, $key ) );
     90                        $this->assertFalse( get_option( $key ) ); // check get_option()
     91                        $this->assertFalse( delete_blog_option( null, $key ) );
     92                        $this->assertTrue( update_blog_option( null, $key2, $value2 ) );
     93                        $this->assertEquals( $value2, get_blog_option( null, $key2 ) );
     94                        $this->assertEquals( $value2, get_option( $key2 ) ); // check get_option()
     95                        $this->assertTrue( delete_blog_option( null, $key2 ) );
     96                        $this->assertFalse( get_blog_option( null, $key2 ) );
     97                        $this->assertFalse( get_option( $key2 ) ); // check get_option()
     98                }
     99
     100                function test_with_another_site() {
     101                        $user_id = self::factory()->user->create();
     102                        $this->assertInternalType( 'integer', $user_id );
     103
     104                        $blog_id = self::factory()->blog->create(
     105                                array(
     106                                        'user_id' => $user_id,
     107                                        'meta'    => array(
     108                                                'public' => 1,
     109                                        ),
     110                                )
     111                        );
     112                        $this->assertInternalType( 'integer', $blog_id );
     113
     114                        $key    = __FUNCTION__ . '_key1';
     115                        $key2   = __FUNCTION__ . '_key2';
     116                        $value  = __FUNCTION__ . '_val1';
     117                        $value2 = __FUNCTION__ . '_val2';
     118
     119                        $this->assertFalse( get_blog_option( $blog_id, 'doesnotexist' ) );
     120                        //$this->assertFalse( get_option( 'doesnotexist' ) ); // check get_option()
     121
     122                        $this->assertTrue( add_blog_option( $blog_id, $key, $value ) );
     123                        // Assert all values of $blog_id that means the current or main blog (the same here).
     124                        $this->assertEquals( $value, get_blog_option( $blog_id, $key ) );
     125                        $this->assertEquals( $value, get_blog_option( "$blog_id", $key ) );
     126                        //$this->assertEquals( $value, get_option( $key ) ); // check get_option()
     127
     128                        $this->assertFalse( add_blog_option( $blog_id, $key, $value ) );  // Already exists
     129                        $this->assertFalse( update_blog_option( $blog_id, $key, $value ) );  // Value is the same
     130                        $this->assertTrue( update_blog_option( $blog_id, $key, $value2 ) );
     131                        $this->assertEquals( $value2, get_blog_option( $blog_id, $key ) );
     132                        //$this->assertEquals( $value2, get_option( $key ) ); // check get_option()
     133                        $this->assertFalse( add_blog_option( $blog_id, $key, $value ) );
     134                        $this->assertEquals( $value2, get_blog_option( $blog_id, $key ) );
     135                        //$this->assertEquals( $value2, get_option( $key ) ); // check get_option()
     136
     137                        $this->assertTrue( delete_blog_option( $blog_id, $key ) );
     138                        $this->assertFalse( get_blog_option( $blog_id, $key ) );
     139                        //$this->assertFalse( get_option( $key ) ); // check get_option()
     140                        $this->assertFalse( delete_blog_option( $blog_id, $key ) );
     141                        $this->assertTrue( update_blog_option( $blog_id, $key2, $value2 ) );
     142                        $this->assertEquals( $value2, get_blog_option( $blog_id, $key2 ) );
     143                        //$this->assertEquals( $value2, get_option( $key2 ) ); // check get_option()
     144                        $this->assertTrue( delete_blog_option( $blog_id, $key2 ) );
     145                        $this->assertFalse( get_blog_option( $blog_id, $key2 ) );
     146                        //$this->assertFalse( get_option( $key2 ) ); // check get_option()
     147                }
     148
     149                /**
     150                 * @group multisite
     151                 */
     152                function test_site_notoptions() {
     153                        $network_id     = get_current_network_id();
     154                        $notoptions_key = "{$network_id}:notoptions";
     155
     156                        $_notoptions = wp_cache_get( 'notoptions', 'site-options' );
     157                        $this->assertEmpty( $_notoptions );
     158                        $_notoptions1 = wp_cache_get( $notoptions_key, 'site-options' );
     159                        $this->assertEmpty( $_notoptions1 );
     160
     161                        get_site_option( 'burrito' );
     162
     163                        $notoptions = wp_cache_get( 'notoptions', 'site-options' );
     164                        $this->assertEmpty( $notoptions );
     165                        $notoptions1 = wp_cache_get( $notoptions_key, 'site-options' );
     166                        $this->assertNotEmpty( $notoptions1 );
     167                }
     168
     169                function test_users_can_register_signup_filter() {
     170
     171                        $registration = get_site_option( 'registration' );
     172                        $this->assertFalse( users_can_register_signup_filter() );
     173
     174                        update_site_option( 'registration', 'all' );
     175                        $this->assertTrue( users_can_register_signup_filter() );
     176
     177                        update_site_option( 'registration', 'user' );
     178                        $this->assertTrue( users_can_register_signup_filter() );
     179
     180                        update_site_option( 'registration', 'none' );
     181                        $this->assertFalse( users_can_register_signup_filter() );
     182                }
     183
     184                /**
     185                 * @dataProvider data_illegal_names
     186                 */
     187                function test_sanitize_network_option_illegal_names( $option_value, $sanitized_option_value ) {
     188                        update_site_option( 'illegal_names', $option_value );
     189                        $this->assertEquals( $sanitized_option_value, get_site_option( 'illegal_names' ) );
     190                }
     191
     192                function data_illegal_names() {
     193                        return array(
     194                                array( array( '', 'Woo', '' ), array( 'Woo' ) ),
     195                                array( 'foo bar', array( 'foo', 'bar' ) ),
     196                                array( array(), '' ),
     197                        );
     198                }
     199
     200                /**
     201                 * @dataProvider data_email_domains
     202                 *
     203                 * @param $option_value
     204                 * @param $sanitized_option_value
     205                 */
     206                function test_sanitize_network_option_limited_email_domains( $option_value, $sanitized_option_value ) {
     207                        update_site_option( 'limited_email_domains', $option_value );
     208                        $this->assertEquals( $sanitized_option_value, get_site_option( 'limited_email_domains' ) );
     209                }
     210
     211                /**
     212                 * @dataProvider data_email_domains
     213                 *
     214                 * @param $option_value
     215                 * @param $sanitized_option_value
     216                 */
     217                function test_sanitize_network_option_banned_email_domains( $option_value, $sanitized_option_value ) {
     218                        update_site_option( 'banned_email_domains', $option_value );
     219                        $this->assertEquals( $sanitized_option_value, get_site_option( 'banned_email_domains' ) );
     220                }
     221
     222                function data_email_domains() {
     223                        return array(
     224                                array( array( 'woo', '', 'boo.com', 'foo.net.biz..' ), array( 'woo', 'boo.com' ) ),
     225                                array( "foo\nbar", array( 'foo', 'bar' ) ),
     226                                array( "foo\n\nbar", array( 'foo', 'bar' ) ),
     227                                array( "\nfoo\nbar\n", array( 'foo', 'bar' ) ),
     228                                array( "foo\nfoo.net.biz..", array( 'foo' ) ),
     229                                array( "foo\nfoo.net.biz..\nbar.com", array( 'foo', 'bar.com' ) ),
     230                                array( 'foo.', array( 'foo.' ) ),
     231                                array( '.foo', array( '.foo' ) ),
     232                                array( 'foo^net', '' ),
     233                                array( array(), '' ),
     234                        );
     235                }
    165236        }
    166237
    167         function test_users_can_register_signup_filter() {
    168 
    169                 $registration = get_site_option('registration');
    170                 $this->assertFalse( users_can_register_signup_filter() );
    171 
    172                 update_site_option('registration', 'all');
    173                 $this->assertTrue( users_can_register_signup_filter() );
    174 
    175                 update_site_option('registration', 'user');
    176                 $this->assertTrue( users_can_register_signup_filter() );
    177 
    178                 update_site_option('registration', 'none');
    179                 $this->assertFalse( users_can_register_signup_filter() );
    180         }
    181 
    182         /**
    183          * @dataProvider data_illegal_names
    184          */
    185         function test_sanitize_network_option_illegal_names( $option_value, $sanitized_option_value ) {
    186                 update_site_option( 'illegal_names', $option_value );
    187                 $this->assertEquals( $sanitized_option_value, get_site_option( 'illegal_names' ) );
    188         }
    189 
    190         function data_illegal_names() {
    191                 return array(
    192                         array( array( '', 'Woo', '' ), array( 'Woo' ) ),
    193                         array( 'foo bar', array( 'foo', 'bar' ) ),
    194                         array( array(), '' ),
    195                 );
    196         }
    197 
    198         /**
    199          * @dataProvider data_email_domains
    200          *
    201          * @param $option_value
    202          * @param $sanitized_option_value
    203          */
    204         function test_sanitize_network_option_limited_email_domains( $option_value, $sanitized_option_value ) {
    205                 update_site_option( 'limited_email_domains', $option_value );
    206                 $this->assertEquals( $sanitized_option_value, get_site_option( 'limited_email_domains' ) );
    207         }
    208 
    209         /**
    210          * @dataProvider data_email_domains
    211          *
    212          * @param $option_value
    213          * @param $sanitized_option_value
    214          */
    215         function test_sanitize_network_option_banned_email_domains( $option_value, $sanitized_option_value ) {
    216                 update_site_option( 'banned_email_domains', $option_value );
    217                 $this->assertEquals( $sanitized_option_value, get_site_option( 'banned_email_domains' ) );
    218         }
    219 
    220         function data_email_domains() {
    221                 return array(
    222                         array( array( 'woo', '', 'boo.com', 'foo.net.biz..' ), array( 'woo', 'boo.com' ) ),
    223                         array( "foo\nbar", array( 'foo', 'bar' ) ),
    224                         array( "foo\n\nbar", array( 'foo', 'bar' ) ),
    225                         array( "\nfoo\nbar\n", array( 'foo', 'bar' ) ),
    226                         array( "foo\nfoo.net.biz..", array( 'foo' ) ),
    227                         array( "foo\nfoo.net.biz..\nbar.com", array( 'foo', 'bar.com' ) ),
    228                         array( 'foo.', array( 'foo.' ) ),
    229                         array( '.foo', array( '.foo' ) ),
    230                         array( 'foo^net', '' ),
    231                         array( array(), '' ),
    232                 );
    233         }
    234 }
    235 
    236238endif;
Note: See TracChangeset for help on using the changeset viewer.