WordPress.org

Make WordPress Core


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