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/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.