diff --git src/wp-includes/user.php src/wp-includes/user.php
index 32b0ec7..2dfb3db 100644
|
|
|
function register_new_user( $user_login, $user_email ) { |
| 2136 | 2136 | $errors->add( 'email_exists', __( '<strong>ERROR</strong>: This email is already registered, please choose another one.' ) ); |
| 2137 | 2137 | } |
| 2138 | 2138 | |
| | 2139 | /** This filter is documented in wp-includes/user.php */ |
| | 2140 | $illegal_logins = (array) apply_filters( 'illegal_user_logins', array() ); |
| | 2141 | |
| | 2142 | if ( in_array( strtolower( $sanitized_user_login ), array_map( 'strtolower', $illegal_logins ) ) ) { |
| | 2143 | $errors->add( 'illegal_user_login', __( '<strong>ERROR</strong>: Sorry, that username is not allowed.' ) ); |
| | 2144 | } |
| | 2145 | |
| 2139 | 2146 | /** |
| 2140 | 2147 | * Fires when submitting registration form data, before the user is created. |
| 2141 | 2148 | * |
diff --git tests/phpunit/tests/user.php tests/phpunit/tests/user.php
index 3644ffc..df4ef7d 100644
|
|
|
class Tests_User extends WP_UnitTestCase { |
| 612 | 612 | * @dataProvider _illegal_user_logins_data |
| 613 | 613 | */ |
| 614 | 614 | function test_illegal_user_logins_single( $user_login ) { |
| | 615 | $user_email = 'testuser@example.com'; |
| | 616 | |
| 615 | 617 | $user_data = array( |
| 616 | 618 | 'user_login' => $user_login, |
| 617 | | 'user_email' => 'testuser@example.com', |
| | 619 | 'user_email' => $user_email, |
| 618 | 620 | 'user_pass' => wp_generate_password(), |
| 619 | 621 | ); |
| 620 | 622 | |
| 621 | 623 | add_filter( 'illegal_user_logins', array( $this, '_illegal_user_logins' ) ); |
| 622 | 624 | |
| | 625 | // Test wp_insert_user() |
| 623 | 626 | $response = wp_insert_user( $user_data ); |
| 624 | 627 | $this->assertInstanceOf( 'WP_Error', $response ); |
| 625 | 628 | $this->assertEquals( 'illegal_user_login', $response->get_error_code() ); |
| 626 | 629 | |
| | 630 | // Test register_new_user() |
| | 631 | $response = register_new_user( $user_login, $user_email ); |
| | 632 | $this->assertInstanceOf( 'WP_Error', $response ); |
| | 633 | $this->assertEquals( 'illegal_user_login', $response->get_error_code() ); |
| | 634 | |
| 627 | 635 | remove_filter( 'illegal_user_logins', array( $this, '_illegal_user_logins' ) ); |
| 628 | 636 | |
| | 637 | // Test wp_insert_user() without illegal login filter |
| 629 | 638 | $user_id = wp_insert_user( $user_data ); |
| 630 | 639 | $user = get_user_by( 'id', $user_id ); |
| 631 | 640 | $this->assertInstanceOf( 'WP_User', $user ); |
| | 641 | wp_delete_user( $user_id ); |
| | 642 | |
| | 643 | // Test register_new_user() without illegal login filter |
| | 644 | $user_id = register_new_user( $user_login, $user_email ); |
| | 645 | $user = get_user_by( 'id', $user_id ); |
| | 646 | $this->assertInstanceOf( 'WP_User', $user ); |
| 632 | 647 | } |
| 633 | 648 | |
| 634 | 649 | /** |