Make WordPress Core


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

    r40595 r42343  
    33if ( is_multisite() ) :
    44
    5 /**
    6  * @group multisite
    7  */
    8 class Tests_Multisite_IsEmailAddressUnsafe extends WP_UnitTestCase {
    9     public function test_string_domain_list_should_be_split_on_line_breaks() {
    10         update_site_option( 'banned_email_domains', "foo.com\nbar.org\nbaz.gov" );
    11         $this->assertTrue( is_email_address_unsafe( 'foo@bar.org' ) );
    12         $this->assertFalse( is_email_address_unsafe( 'foo@example.org' ) );
     5    /**
     6     * @group multisite
     7     */
     8    class Tests_Multisite_IsEmailAddressUnsafe extends WP_UnitTestCase {
     9        public function test_string_domain_list_should_be_split_on_line_breaks() {
     10            update_site_option( 'banned_email_domains', "foo.com\nbar.org\nbaz.gov" );
     11            $this->assertTrue( is_email_address_unsafe( 'foo@bar.org' ) );
     12            $this->assertFalse( is_email_address_unsafe( 'foo@example.org' ) );
     13        }
     14
     15        /**
     16         * @dataProvider data_unsafe
     17         * @ticket 25046
     18         * @ticket 21570
     19         */
     20        public function test_unsafe_emails( $banned, $email ) {
     21            update_site_option( 'banned_email_domains', $banned );
     22            $this->assertTrue( is_email_address_unsafe( $email ) );
     23        }
     24
     25        /**
     26         * @dataProvider data_safe
     27         * @ticket 25046
     28         * @ticket 21570
     29         */
     30        public function test_safe_emails( $banned, $email ) {
     31            update_site_option( 'banned_email_domains', $banned );
     32            $this->assertFalse( is_email_address_unsafe( $email ) );
     33        }
     34
     35        public function data_unsafe() {
     36            return array(
     37                // 25046
     38                'case_insensitive_1' => array(
     39                    array( 'baR.com' ),
     40                    'test@Bar.com',
     41                ),
     42                'case_insensitive_2' => array(
     43                    array( 'baR.com' ),
     44                    'tEst@bar.com',
     45                ),
     46                'case_insensitive_3' => array(
     47                    array( 'barfoo.COM' ),
     48                    'test@barFoo.com',
     49                ),
     50                'case_insensitive_4' => array(
     51                    array( 'baR.com' ),
     52                    'tEst@foo.bar.com',
     53                ),
     54                'case_insensitive_5' => array(
     55                    array( 'BAZ.com' ),
     56                    'test@baz.Com',
     57                ),
     58
     59                // 21570
     60                array(
     61                    array( 'bar.com', 'foo.co' ),
     62                    'test@bar.com',
     63                ),
     64                'subdomain_1'        => array(
     65                    array( 'bar.com', 'foo.co' ),
     66                    'test@foo.bar.com',
     67                ),
     68                array(
     69                    array( 'bar.com', 'foo.co' ),
     70                    'test@foo.co',
     71                ),
     72                'subdomain_2'        => array(
     73                    array( 'bar.com', 'foo.co' ),
     74                    'test@subdomain.foo.co',
     75                ),
     76            );
     77        }
     78
     79        public function data_safe() {
     80            return array(
     81                // 25046
     82                array(
     83                    array( 'baR.com', 'Foo.co', 'barfoo.COM', 'BAZ.com' ),
     84                    'test@Foobar.com',
     85                ),
     86                array(
     87                    array( 'baR.com', 'Foo.co', 'barfoo.COM', 'BAZ.com' ),
     88                    'test@Foo-bar.com',
     89                ),
     90                array(
     91                    array( 'baR.com', 'Foo.co', 'barfoo.COM', 'BAZ.com' ),
     92                    'tEst@foobar.com',
     93                ),
     94                array(
     95                    array( 'baR.com', 'Foo.co', 'barfoo.COM', 'BAZ.com' ),
     96                    'test@Subdomain.Foo.com',
     97                ),
     98                array(
     99                    array( 'baR.com', 'Foo.co', 'barfoo.COM', 'BAZ.com' ),
     100                    'test@feeBAz.com',
     101                ),
     102
     103                // 21570
     104                array(
     105                    array( 'bar.com', 'foo.co' ),
     106                    'test@foobar.com',
     107                ),
     108                array(
     109                    array( 'bar.com', 'foo.co' ),
     110                    'test@foo-bar.com',
     111                ),
     112                array(
     113                    array( 'bar.com', 'foo.co' ),
     114                    'test@foo.com',
     115                ),
     116                array(
     117                    array( 'bar.com', 'foo.co' ),
     118                    'test@subdomain.foo.com',
     119                ),
     120            );
     121        }
     122
     123        public function test_email_with_only_top_level_domain_returns_safe() {
     124            update_site_option( 'banned_email_domains', 'bar.com' );
     125            $safe = is_email_address_unsafe( 'email@localhost' );
     126            delete_site_option( 'banned_email_domains' );
     127
     128            $this->assertFalse( $safe );
     129        }
     130
     131        public function test_invalid_email_without_domain_returns_safe() {
     132            update_site_option( 'banned_email_domains', 'bar.com' );
     133            $safe = is_email_address_unsafe( 'invalid-email' );
     134            delete_site_option( 'bar.com' );
     135
     136            $this->assertFalse( $safe );
     137        }
    13138    }
    14139
    15     /**
    16      * @dataProvider data_unsafe
    17      * @ticket 25046
    18      * @ticket 21570
    19      */
    20     public function test_unsafe_emails( $banned, $email ) {
    21         update_site_option( 'banned_email_domains', $banned );
    22         $this->assertTrue( is_email_address_unsafe( $email ) );
    23     }
    24 
    25     /**
    26      * @dataProvider data_safe
    27      * @ticket 25046
    28      * @ticket 21570
    29      */
    30     public function test_safe_emails( $banned, $email ) {
    31         update_site_option( 'banned_email_domains', $banned );
    32         $this->assertFalse( is_email_address_unsafe( $email ) );
    33     }
    34 
    35     public function data_unsafe() {
    36         return array(
    37             // 25046
    38             'case_insensitive_1' => array(
    39                 array( 'baR.com' ),
    40                 'test@Bar.com',
    41             ),
    42             'case_insensitive_2' => array(
    43                 array( 'baR.com' ),
    44                 'tEst@bar.com',
    45             ),
    46             'case_insensitive_3' => array(
    47                 array( 'barfoo.COM' ),
    48                 'test@barFoo.com',
    49             ),
    50             'case_insensitive_4' => array(
    51                 array( 'baR.com' ),
    52                 'tEst@foo.bar.com',
    53             ),
    54             'case_insensitive_5' => array(
    55                 array( 'BAZ.com' ),
    56                 'test@baz.Com',
    57             ),
    58 
    59 
    60             // 21570
    61             array(
    62                 array( 'bar.com', 'foo.co' ),
    63                 'test@bar.com',
    64             ),
    65             'subdomain_1' => array(
    66                 array( 'bar.com', 'foo.co' ),
    67                 'test@foo.bar.com',
    68             ),
    69             array(
    70                 array( 'bar.com', 'foo.co' ),
    71                 'test@foo.co',
    72             ),
    73             'subdomain_2' => array(
    74                 array( 'bar.com', 'foo.co' ),
    75                 'test@subdomain.foo.co',
    76             ),
    77         );
    78     }
    79 
    80     public function data_safe() {
    81         return array(
    82             // 25046
    83             array(
    84                 array( 'baR.com', 'Foo.co', 'barfoo.COM', 'BAZ.com' ),
    85                 'test@Foobar.com',
    86             ),
    87             array(
    88                 array( 'baR.com', 'Foo.co', 'barfoo.COM', 'BAZ.com' ),
    89                 'test@Foo-bar.com',
    90             ),
    91             array(
    92                 array( 'baR.com', 'Foo.co', 'barfoo.COM', 'BAZ.com' ),
    93                 'tEst@foobar.com',
    94             ),
    95             array(
    96                 array( 'baR.com', 'Foo.co', 'barfoo.COM', 'BAZ.com' ),
    97                 'test@Subdomain.Foo.com',
    98             ),
    99             array(
    100                 array( 'baR.com', 'Foo.co', 'barfoo.COM', 'BAZ.com' ),
    101                 'test@feeBAz.com',
    102             ),
    103 
    104             // 21570
    105             array(
    106                 array( 'bar.com', 'foo.co' ),
    107                 'test@foobar.com',
    108             ),
    109             array(
    110                 array( 'bar.com', 'foo.co' ),
    111                 'test@foo-bar.com',
    112             ),
    113             array(
    114                 array( 'bar.com', 'foo.co' ),
    115                 'test@foo.com',
    116             ),
    117             array(
    118                 array( 'bar.com', 'foo.co' ),
    119                 'test@subdomain.foo.com',
    120             ),
    121         );
    122     }
    123 
    124     public function test_email_with_only_top_level_domain_returns_safe() {
    125         update_site_option( 'banned_email_domains', 'bar.com' );
    126         $safe = is_email_address_unsafe( 'email@localhost' );
    127         delete_site_option( 'banned_email_domains' );
    128 
    129         $this->assertFalse( $safe );
    130     }
    131 
    132     public function test_invalid_email_without_domain_returns_safe() {
    133         update_site_option( 'banned_email_domains', 'bar.com' );
    134         $safe = is_email_address_unsafe( 'invalid-email' );
    135         delete_site_option( 'bar.com' );
    136 
    137         $this->assertFalse( $safe );
    138     }
    139 }
    140 
    141140endif;
Note: See TracChangeset for help on using the changeset viewer.