Make WordPress Core


Ignore:
Timestamp:
11/03/2019 08:10:23 PM (5 years ago)
Author:
whyisjake
Message:

Login and Registration: Allow email logins to be more flexible.

Allows a login to have an apostorphe. Which would normally be created as a mistake, but this allows the login to happen.

Fixes #38744
Props wpkuf, desrosj, socalchristina, bibliofille, santilinwp, nsubugak, sncoker, cafenoirdesign, whyisjake.

File:
1 edited

Legend:

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

    r46586 r46640  
    3636        self::$user_ids[] = self::$contrib_id;
    3737
     38        self::$user_ids[] = $factory->user->create(
     39            array(
     40                'user_login'    => "testemailaddress'@test.com",
     41                'user_nicename' => 'user_email_with_apostrophe',
     42                'user_pass'     => 'password',
     43                'first_name'    => 'John',
     44                'last_name'     => 'Doe',
     45                'display_name'  => 'John Doe',
     46                'user_email'    => "testemailaddress'@test.com",
     47                'user_url'      => 'http://tacos.com',
     48                'role'          => 'contributor',
     49                'nickname'      => 'Johnny',
     50                'description'   => 'I am a WordPress user that cares about privacy.',
     51            )
     52        );
     53
    3854        self::$author_id  = $factory->user->create(
    3955            array(
     
    6480
    6581        $this->author = clone self::$_author;
     82    }
     83
     84    public function test_that_you_can_login_with_an_email_that_has_apostrophe() {
     85
     86        //create the user with an email that has an apostrophe (see test setup)
     87
     88        //login as the user
     89        $credentials = [
     90            'user_login'    => "testemailaddress'@test.com",
     91            'user_password' => 'password',
     92        ];
     93
     94        //attempt to login
     95        $user = wp_signon( $credentials );
     96
     97        //assert that login was successfull
     98        //if the login fails, an instance of WP_Error is returned rather than User object
     99        $this->assertNotWPError( $user );
    66100    }
    67101
Note: See TracChangeset for help on using the changeset viewer.