Privacy: More precise checking of user request action names.

Props garrett-eclipse.
Fixes #46536.


git-svn-id: https://develop.svn.wordpress.org/trunk@49475 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Helen Hou-Sandi
2020-11-02 18:40:06 +00:00
parent 4985f741d3
commit 140b29db87
4 changed files with 40 additions and 6 deletions

View File

@@ -92,13 +92,26 @@ class Tests_WpCreateUserRequest extends WP_UnitTestCase {
$this->assertSame( 'invalid_email', $actual->get_error_code() );
}
/**
* Ensure a WP_Error is returned when no action is passed.
*
* @ticket 46536
*/
public function test_missing_action() {
$actual = wp_create_user_request( self::$registered_user_email, false );
$this->assertWPError( $actual );
$this->assertSame( 'invalid_action', $actual->get_error_code() );
}
/**
* Ensure a WP_Error is returned when an invalid action is passed.
*
* @ticket 44707
* @ticket 46536
*/
public function test_invalid_action() {
$actual = wp_create_user_request( self::$registered_user_email, false );
$actual = wp_create_user_request( self::$registered_user_email, 'invalid_action_name' );
$this->assertWPError( $actual );
$this->assertSame( 'invalid_action', $actual->get_error_code() );
@@ -161,13 +174,13 @@ class Tests_WpCreateUserRequest extends WP_UnitTestCase {
* @ticket 44707
*/
public function test_sanitized_action_name() {
$actual = wp_create_user_request( self::$non_registered_user_email, 'some[custom*action\name' );
$actual = wp_create_user_request( self::$non_registered_user_email, 'export[_person*al_\data' );
$this->assertNotWPError( $actual );
$post = get_post( $actual );
$this->assertSame( 'somecustomactionname', $post->post_name );
$this->assertSame( 'export_personal_data', $post->post_name );
$this->assertSame( self::$non_registered_user_email, $post->post_title );
}