Tests: First pass at using assertSame() instead of assertEquals() in most of the unit tests.

This ensures that not only the return values match the expected results, but also that their type is the same.

Going forward, stricter type checking by using `assertSame()` should generally be preferred to `assertEquals()` where appropriate, to make the tests more reliable.

Props johnbillion, jrf, SergeyBiryukov.
See #38266.

git-svn-id: https://develop.svn.wordpress.org/trunk@48937 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov
2020-09-02 00:35:36 +00:00
parent ba7c6a2d5f
commit 164b22cf6a
426 changed files with 7959 additions and 7949 deletions

View File

@@ -168,14 +168,14 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/users' );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEquals( array( 'view', 'embed', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] );
$this->assertSame( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertSame( array( 'view', 'embed', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] );
// Single.
$request = new WP_REST_Request( 'OPTIONS', '/wp/v2/users/' . self::$user );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertEquals( array( 'view', 'embed', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] );
$this->assertSame( 'view', $data['endpoints'][0]['args']['context']['default'] );
$this->assertSame( array( 'view', 'embed', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] );
}
public function test_registered_query_params() {
@@ -184,7 +184,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$data = $response->get_data();
$keys = array_keys( $data['endpoints'][0]['args'] );
sort( $keys );
$this->assertEquals(
$this->assertSame(
array(
'context',
'exclude',
@@ -210,7 +210,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'context', 'view' );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
$all_data = $response->get_data();
$data = $all_data[0];
@@ -225,7 +225,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'context', 'edit' );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
$all_data = $response->get_data();
$data = $all_data[0];
@@ -239,7 +239,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'context', 'edit' );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 401, $response->get_status() );
$this->assertSame( 401, $response->get_status() );
// Test with a user logged in but without sufficient capabilities;
// capability in question: 'list_users'.
@@ -249,7 +249,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'context', 'edit' );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 403, $response->get_status() );
$this->assertSame( 403, $response->get_status() );
}
public function test_get_items_unauthenticated_includes_authors_of_post_types_shown_in_rest() {
@@ -313,8 +313,8 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'GET', '/wp/v2/users' );
$response = rest_get_server()->dispatch( $request );
$headers = $response->get_headers();
$this->assertEquals( $total_users, $headers['X-WP-Total'] );
$this->assertEquals( $total_pages, $headers['X-WP-TotalPages'] );
$this->assertSame( $total_users, $headers['X-WP-Total'] );
$this->assertSame( $total_pages, $headers['X-WP-TotalPages'] );
$next_link = add_query_arg(
array(
'page' => 2,
@@ -332,8 +332,8 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'page', 3 );
$response = rest_get_server()->dispatch( $request );
$headers = $response->get_headers();
$this->assertEquals( $total_users, $headers['X-WP-Total'] );
$this->assertEquals( $total_pages, $headers['X-WP-TotalPages'] );
$this->assertSame( $total_users, $headers['X-WP-Total'] );
$this->assertSame( $total_pages, $headers['X-WP-TotalPages'] );
$prev_link = add_query_arg(
array(
'page' => 2,
@@ -354,8 +354,8 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'page', $total_pages );
$response = rest_get_server()->dispatch( $request );
$headers = $response->get_headers();
$this->assertEquals( $total_users, $headers['X-WP-Total'] );
$this->assertEquals( $total_pages, $headers['X-WP-TotalPages'] );
$this->assertSame( $total_users, $headers['X-WP-Total'] );
$this->assertSame( $total_pages, $headers['X-WP-TotalPages'] );
$prev_link = add_query_arg(
array(
'page' => $total_pages - 1,
@@ -370,8 +370,8 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'page', 100 );
$response = rest_get_server()->dispatch( $request );
$headers = $response->get_headers();
$this->assertEquals( $total_users, $headers['X-WP-Total'] );
$this->assertEquals( $total_pages, $headers['X-WP-TotalPages'] );
$this->assertSame( $total_users, $headers['X-WP-Total'] );
$this->assertSame( $total_pages, $headers['X-WP-TotalPages'] );
$prev_link = add_query_arg(
array(
'page' => $total_pages,
@@ -387,12 +387,12 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'GET', '/wp/v2/users' );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 10, count( $response->get_data() ) );
$this->assertSame( 10, count( $response->get_data() ) );
$request = new WP_REST_Request( 'GET', '/wp/v2/users' );
$request->set_param( 'per_page', 5 );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 5, count( $response->get_data() ) );
$this->assertSame( 5, count( $response->get_data() ) );
}
public function test_get_items_page() {
@@ -402,7 +402,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'per_page', 5 );
$request->set_param( 'page', 2 );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 5, count( $response->get_data() ) );
$this->assertSame( 5, count( $response->get_data() ) );
$prev_link = add_query_arg(
array(
'per_page' => 5,
@@ -427,7 +427,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'per_page', 1 );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( $high_id, $data[0]['id'] );
$this->assertSame( $high_id, $data[0]['id'] );
$request = new WP_REST_Request( 'GET', '/wp/v2/users' );
$request->set_param( 'orderby', 'name' );
@@ -435,7 +435,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'per_page', 1 );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( $low_id, $data[0]['id'] );
$this->assertSame( $low_id, $data[0]['id'] );
}
public function test_get_items_orderby_url() {
@@ -451,7 +451,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'include', array( $low_id, $high_id ) );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( $high_id, $data[0]['id'] );
$this->assertSame( $high_id, $data[0]['id'] );
$request = new WP_REST_Request( 'GET', '/wp/v2/users' );
$request->set_param( 'orderby', 'url' );
@@ -460,7 +460,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'include', array( $low_id, $high_id ) );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( $low_id, $data[0]['id'] );
$this->assertSame( $low_id, $data[0]['id'] );
}
public function test_get_items_orderby_slug() {
@@ -476,7 +476,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'include', array( $low_id, $high_id ) );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( $high_id, $data[0]['id'] );
$this->assertSame( $high_id, $data[0]['id'] );
$request = new WP_REST_Request( 'GET', '/wp/v2/users' );
$request->set_param( 'orderby', 'slug' );
@@ -485,7 +485,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'include', array( $low_id, $high_id ) );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( $low_id, $data[0]['id'] );
$this->assertSame( $low_id, $data[0]['id'] );
}
public function test_get_items_orderby_slugs() {
@@ -501,9 +501,9 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'taco', $data[0]['slug'] );
$this->assertEquals( 'burrito', $data[1]['slug'] );
$this->assertEquals( 'chalupa', $data[2]['slug'] );
$this->assertSame( 'taco', $data[0]['slug'] );
$this->assertSame( 'burrito', $data[1]['slug'] );
$this->assertSame( 'chalupa', $data[2]['slug'] );
}
public function test_get_items_orderby_email() {
@@ -519,7 +519,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'include', array( $low_id, $high_id ) );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( $high_id, $data[0]['id'] );
$this->assertSame( $high_id, $data[0]['id'] );
$request = new WP_REST_Request( 'GET', '/wp/v2/users' );
$request->set_param( 'orderby', 'email' );
@@ -528,7 +528,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'include', array( $low_id, $high_id ) );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( $low_id, $data[0]['id'] );
$this->assertSame( $low_id, $data[0]['id'] );
}
public function test_get_items_orderby_email_unauthenticated() {
@@ -598,15 +598,15 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'include', array( $id2, $id1 ) );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 2, count( $data ) );
$this->assertEquals( $id1, $data[0]['id'] );
$this->assertSame( 2, count( $data ) );
$this->assertSame( $id1, $data[0]['id'] );
// 'orderby' => 'include'.
$request->set_param( 'orderby', 'include' );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 2, count( $data ) );
$this->assertEquals( $id2, $data[0]['id'] );
$this->assertSame( 2, count( $data ) );
$this->assertSame( $id2, $data[0]['id'] );
// Invalid 'include' should error.
$request->set_param( 'include', 'invalid' );
@@ -618,7 +618,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
wp_set_current_user( 0 );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 0, count( $data ) );
$this->assertSame( 0, count( $data ) );
}
@@ -655,14 +655,14 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'GET', '/wp/v2/users' );
$request->set_param( 'search', 'yololololo' );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 0, count( $response->get_data() ) );
$this->assertSame( 0, count( $response->get_data() ) );
$yolo_id = $this->factory->user->create( array( 'display_name' => 'yololololo' ) );
$request = new WP_REST_Request( 'GET', '/wp/v2/users' );
$request->set_param( 'search', 'yololololo' );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 1, count( $response->get_data() ) );
$this->assertSame( 1, count( $response->get_data() ) );
// Default to wildcard search.
$adam_id = $this->factory->user->create(
array(
@@ -675,8 +675,8 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'search', 'ada' );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 1, count( $data ) );
$this->assertEquals( $adam_id, $data[0]['id'] );
$this->assertSame( 1, count( $data ) );
$this->assertSame( $adam_id, $data[0]['id'] );
}
public function test_get_items_slug_query() {
@@ -699,8 +699,8 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'slug', 'foo' );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 1, count( $data ) );
$this->assertEquals( $id2, $data[0]['id'] );
$this->assertSame( 1, count( $data ) );
$this->assertSame( $id2, $data[0]['id'] );
}
public function test_get_items_slug_array_query() {
@@ -743,10 +743,10 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'orderby', 'slug' );
$request->set_param( 'order', 'asc' );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
$data = $response->get_data();
$slugs = wp_list_pluck( $data, 'slug' );
$this->assertEquals( array( 'burrito', 'enchilada', 'taco' ), $slugs );
$this->assertSame( array( 'burrito', 'enchilada', 'taco' ), $slugs );
}
public function test_get_items_slug_csv_query() {
@@ -782,10 +782,10 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'orderby', 'slug' );
$request->set_param( 'order', 'desc' );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
$data = $response->get_data();
$slugs = wp_list_pluck( $data, 'slug' );
$this->assertEquals( array( 'taco', 'enchilada', 'burrito' ), $slugs );
$this->assertSame( array( 'taco', 'enchilada', 'burrito' ), $slugs );
}
/**
@@ -812,15 +812,15 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'roles', 'author,subscriber' );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 3, count( $data ) );
$this->assertEquals( $tango, $data[1]['id'] );
$this->assertEquals( $yolo, $data[2]['id'] );
$this->assertSame( 3, count( $data ) );
$this->assertSame( $tango, $data[1]['id'] );
$this->assertSame( $yolo, $data[2]['id'] );
$request->set_param( 'roles', 'author' );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 1, count( $data ) );
$this->assertEquals( $yolo, $data[0]['id'] );
$this->assertSame( 1, count( $data ) );
$this->assertSame( $yolo, $data[0]['id'] );
wp_set_current_user( 0 );
@@ -849,15 +849,15 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'roles', 'ilovesteak,author' );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 1, count( $data ) );
$this->assertEquals( $lolz, $data[0]['id'] );
$this->assertSame( 1, count( $data ) );
$this->assertSame( $lolz, $data[0]['id'] );
$request = new WP_REST_Request( 'GET', '/wp/v2/users' );
$request->set_param( 'roles', 'steakisgood' );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 0, count( $data ) );
$this->assertEquals( array(), $data );
$this->assertSame( 0, count( $data ) );
$this->assertSame( array(), $data );
}
public function test_get_items_who_author_query() {
@@ -867,7 +867,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'GET', '/wp/v2/users' );
$request->set_param( 'search', 'subscriber' );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
$this->assertCount( 1, $response->get_data() );
// Second request should exclude subscriber.
@@ -875,7 +875,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'who', 'authors' );
$request->set_param( 'search', 'subscriber' );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
$this->assertCount( 0, $response->get_data() );
}
@@ -929,7 +929,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( '_fields', 'id,name' );
$user = get_user_by( 'id', get_current_user_id() );
$response = $this->endpoint->prepare_item_for_response( $user, $request );
$this->assertEquals(
$this->assertSame(
array(
'id',
'name',
@@ -952,7 +952,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$user = get_user_by( 'id', self::$editor );
// Ignore the subdomain, since get_avatar_url() randomly sets
// the Gravatar server when building the URL string.
$this->assertEquals( substr( get_avatar_url( $user->user_email ), 9 ), substr( $data['avatar_urls'][96], 9 ) );
$this->assertSame( substr( get_avatar_url( $user->user_email ), 9 ), substr( $data['avatar_urls'][96], 9 ) );
}
public function test_get_user_invalid_id() {
@@ -1004,7 +1004,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
public function test_can_get_item_author_of_rest_true_public_true_unauthenticated() {
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/users/%d', self::$authors['r_true_p_true'] ) );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
}
public function test_can_get_item_author_of_rest_true_public_true_authenticated() {
@@ -1012,13 +1012,13 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/users/%d', self::$authors['r_true_p_true'] ) );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
}
public function test_can_get_item_author_of_rest_true_public_false() {
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/users/%d', self::$authors['r_true_p_false'] ) );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
}
public function test_cannot_get_item_author_of_rest_false_public_true_unauthenticated() {
@@ -1044,7 +1044,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
public function test_can_get_item_author_of_post() {
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/users/%d', self::$editor ) );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
}
public function test_cannot_get_item_author_of_draft() {
@@ -1084,7 +1084,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/users/%d', $this->author_id ) );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 401, $response->get_status() );
$this->assertSame( 401, $response->get_status() );
$this->post_id = $this->factory->post->create(
array(
@@ -1134,14 +1134,14 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'GET', '/wp/v2/users/me' );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
$this->check_get_user_response( $response, 'view' );
$headers = $response->get_headers();
$this->assertArrayNotHasKey( 'Location', $headers );
$links = $response->get_links();
$this->assertEquals( rest_url( 'wp/v2/users/' . self::$user ), $links['self'][0]['href'] );
$this->assertSame( rest_url( 'wp/v2/users/' . self::$user ), $links['self'][0]['href'] );
}
public function test_get_current_user_without_permission() {
@@ -1175,8 +1175,8 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 'http://example.com', $data['url'] );
$this->assertEquals( array( 'editor' ), $data['roles'] );
$this->assertSame( 'http://example.com', $data['url'] );
$this->assertSame( array( 'editor' ), $data['roles'] );
$this->check_add_edit_user_response( $response );
}
@@ -1214,13 +1214,13 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$this->assertInternalType( 'array', $data['additional_errors'] );
$this->assertCount( 1, $data['additional_errors'] );
$error = $data['additional_errors'][0];
$this->assertEquals( 'user_name', $error['code'] );
$this->assertEquals( 'Usernames can only contain lowercase letters (a-z) and numbers.', $error['message'] );
$this->assertSame( 'user_name', $error['code'] );
$this->assertSame( 'Usernames can only contain lowercase letters (a-z) and numbers.', $error['message'] );
} else {
$this->assertInternalType( 'array', $data['data']['params'] );
$errors = $data['data']['params'];
$this->assertInternalType( 'string', $errors['username'] );
$this->assertEquals( 'This username is invalid because it uses illegal characters. Please enter a valid username.', $errors['username'] );
$this->assertSame( 'This username is invalid because it uses illegal characters. Please enter a valid username.', $errors['username'] );
}
}
@@ -1260,7 +1260,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$this->assertInternalType( 'array', $data['data']['params'] );
$errors = $data['data']['params'];
$this->assertInternalType( 'string', $errors['username'] );
$this->assertEquals( 'Sorry, that username is not allowed.', $errors['username'] );
$this->assertSame( 'Sorry, that username is not allowed.', $errors['username'] );
}
/**
@@ -1388,9 +1388,9 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
// Check the code matches one we know.
$this->assertContains( $error['code'], array( 'user_name', 'user_email' ) );
if ( 'user_name' === $error['code'] ) {
$this->assertEquals( 'Sorry, that username already exists!', $error['message'] );
$this->assertSame( 'Sorry, that username already exists!', $error['message'] );
} else {
$this->assertEquals( 'Sorry, that email address is already used!', $error['message'] );
$this->assertSame( 'Sorry, that email address is already used!', $error['message'] );
}
}
}
@@ -1524,17 +1524,17 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
// Check that the name has been updated correctly.
$new_data = $response->get_data();
$this->assertEquals( 'New Name', $new_data['first_name'] );
$this->assertSame( 'New Name', $new_data['first_name'] );
$user = get_userdata( $user_id );
$this->assertEquals( 'New Name', $user->first_name );
$this->assertSame( 'New Name', $user->first_name );
$this->assertEquals( 'http://google.com', $new_data['url'] );
$this->assertEquals( 'http://google.com', $user->user_url );
$this->assertEquals( 'de_DE', $user->locale );
$this->assertSame( 'http://google.com', $new_data['url'] );
$this->assertSame( 'http://google.com', $user->user_url );
$this->assertSame( 'de_DE', $user->locale );
// Check that we haven't inadvertently changed the user's password,
// as per https://core.trac.wordpress.org/ticket/21429
$this->assertEquals( $pw_before, $user->user_pass );
$this->assertSame( $pw_before, $user->user_pass );
}
public function test_update_item_no_change() {
@@ -1550,10 +1550,10 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
// Run twice to make sure that the update still succeeds
// even if no DB rows are updated.
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
}
public function test_update_item_existing_email() {
@@ -1578,7 +1578,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'email', 'testjson@example.com' );
$response = rest_get_server()->dispatch( $request );
$this->assertInstanceOf( 'WP_Error', $response->as_error() );
$this->assertEquals( 'rest_user_invalid_email', $response->as_error()->get_error_code() );
$this->assertSame( 'rest_user_invalid_email', $response->as_error()->get_error_code() );
}
/**
@@ -1596,8 +1596,8 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 200, $response->get_status() );
$this->assertEquals( $updated_email_with_case_change, $data['email'] );
$this->assertSame( 200, $response->get_status() );
$this->assertSame( $updated_email_with_case_change, $data['email'] );
}
/**
@@ -1616,7 +1616,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 400, $response->get_status() );
$this->assertSame( 400, $response->get_status() );
$this->assertSame( 'rest_user_invalid_email', $data['code'] );
}
@@ -1636,7 +1636,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'locale', 'klingon' );
$response = rest_get_server()->dispatch( $request );
$this->assertInstanceOf( 'WP_Error', $response->as_error() );
$this->assertEquals( 'rest_invalid_param', $response->as_error()->get_error_code() );
$this->assertSame( 'rest_invalid_param', $response->as_error()->get_error_code() );
}
public function test_update_item_en_US_locale() {
@@ -1657,7 +1657,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$this->check_add_edit_user_response( $response, true );
$user = get_userdata( $user_id );
$this->assertEquals( 'en_US', $user->locale );
$this->assertSame( 'en_US', $user->locale );
}
/**
@@ -1682,9 +1682,9 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$this->check_add_edit_user_response( $response, true );
$data = $response->get_data();
$this->assertEquals( get_locale(), $data['locale'] );
$this->assertSame( get_locale(), $data['locale'] );
$user = get_userdata( $user_id );
$this->assertEquals( '', $user->locale );
$this->assertSame( '', $user->locale );
}
public function test_update_item_username_attempt() {
@@ -1709,7 +1709,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'username', 'test_json_user' );
$response = rest_get_server()->dispatch( $request );
$this->assertInstanceOf( 'WP_Error', $response->as_error() );
$this->assertEquals( 'rest_user_invalid_argument', $response->as_error()->get_error_code() );
$this->assertSame( 'rest_user_invalid_argument', $response->as_error()->get_error_code() );
}
public function test_update_item_existing_nicename() {
@@ -1734,7 +1734,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request->set_param( 'slug', 'test_json_user' );
$response = rest_get_server()->dispatch( $request );
$this->assertInstanceOf( 'WP_Error', $response->as_error() );
$this->assertEquals( 'rest_user_invalid_slug', $response->as_error()->get_error_code() );
$this->assertSame( 'rest_user_invalid_slug', $response->as_error()->get_error_code() );
}
public function test_json_update_user() {
@@ -1771,15 +1771,15 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
// Check that the name has been updated correctly.
$new_data = $response->get_data();
$this->assertEquals( 'JSON Name', $new_data['first_name'] );
$this->assertEquals( 'New Last', $new_data['last_name'] );
$this->assertSame( 'JSON Name', $new_data['first_name'] );
$this->assertSame( 'New Last', $new_data['last_name'] );
$user = get_userdata( $user_id );
$this->assertEquals( 'JSON Name', $user->first_name );
$this->assertEquals( 'New Last', $user->last_name );
$this->assertSame( 'JSON Name', $user->first_name );
$this->assertSame( 'New Last', $user->last_name );
// Check that we haven't inadvertently changed the user's password,
// as per https://core.trac.wordpress.org/ticket/21429
$this->assertEquals( $pw_before, $user->user_pass );
$this->assertSame( $pw_before, $user->user_pass );
}
public function test_update_user_role() {
@@ -1795,7 +1795,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$new_data = $response->get_data();
$this->assertEquals( 'editor', $new_data['roles'][0] );
$this->assertSame( 'editor', $new_data['roles'][0] );
$this->assertNotEquals( 'administrator', $new_data['roles'][0] );
$user = get_userdata( $user_id );
@@ -1816,7 +1816,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$new_data = $response->get_data();
$this->assertEquals( array( 'author', 'editor' ), $new_data['roles'] );
$this->assertSame( array( 'author', 'editor' ), $new_data['roles'] );
$user = get_userdata( $user_id );
$this->assertArrayHasKey( 'author', $user->caps );
@@ -1890,7 +1890,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$response = rest_get_server()->dispatch( $request );
$new_data = $response->get_data();
$this->assertEquals( 'editor', $new_data['roles'][0] );
$this->assertSame( 'editor', $new_data['roles'][0] );
$this->assertNotEquals( 'administrator', $new_data['roles'][0] );
$user_id = $this->factory->user->create( array( 'role' => 'administrator' ) );
@@ -1904,7 +1904,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$response = rest_get_server()->dispatch( $request );
$new_data = $response->get_data();
$this->assertEquals( 'editor', $new_data['roles'][0] );
$this->assertSame( 'editor', $new_data['roles'][0] );
$this->assertNotEquals( 'administrator', $new_data['roles'][0] );
}
@@ -2012,10 +2012,10 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/users/%d', $user_id ) );
$request->set_param( 'roles', array( 'editor' ) );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
$new_data = $response->get_data();
$this->assertEquals( 'editor', $new_data['roles'][0] );
$this->assertSame( 'editor', $new_data['roles'][0] );
}
/**
@@ -2044,10 +2044,10 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
*/
$this->assertErrorResponse( 'rest_cannot_edit', $response, 403 );
} else {
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
$new_data = $response->get_data();
$this->assertEquals( 'editor', $new_data['roles'][0] );
$this->assertSame( 'editor', $new_data['roles'][0] );
}
}
@@ -2078,27 +2078,27 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
}
$request->set_param( 'email', 'cbg@androidsdungeon.com' );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 201, $response->get_status() );
$this->assertSame( 201, $response->get_status() );
$actual_output = $response->get_data();
// Compare expected API output to actual API output.
$this->assertEquals( $expected_output['username'], $actual_output['username'] );
$this->assertEquals( $expected_output['name'], $actual_output['name'] );
$this->assertEquals( $expected_output['first_name'], $actual_output['first_name'] );
$this->assertEquals( $expected_output['last_name'], $actual_output['last_name'] );
$this->assertEquals( $expected_output['url'], $actual_output['url'] );
$this->assertEquals( $expected_output['description'], $actual_output['description'] );
$this->assertEquals( $expected_output['nickname'], $actual_output['nickname'] );
$this->assertSame( $expected_output['username'], $actual_output['username'] );
$this->assertSame( $expected_output['name'], $actual_output['name'] );
$this->assertSame( $expected_output['first_name'], $actual_output['first_name'] );
$this->assertSame( $expected_output['last_name'], $actual_output['last_name'] );
$this->assertSame( $expected_output['url'], $actual_output['url'] );
$this->assertSame( $expected_output['description'], $actual_output['description'] );
$this->assertSame( $expected_output['nickname'], $actual_output['nickname'] );
// Compare expected API output to WP internal values.
$user = get_userdata( $actual_output['id'] );
$this->assertEquals( $expected_output['username'], $user->user_login );
$this->assertEquals( $expected_output['name'], $user->display_name );
$this->assertEquals( $expected_output['first_name'], $user->first_name );
$this->assertEquals( $expected_output['last_name'], $user->last_name );
$this->assertEquals( $expected_output['url'], $user->user_url );
$this->assertEquals( $expected_output['description'], $user->description );
$this->assertEquals( $expected_output['nickname'], $user->nickname );
$this->assertSame( $expected_output['username'], $user->user_login );
$this->assertSame( $expected_output['name'], $user->display_name );
$this->assertSame( $expected_output['first_name'], $user->first_name );
$this->assertSame( $expected_output['last_name'], $user->last_name );
$this->assertSame( $expected_output['url'], $user->user_url );
$this->assertSame( $expected_output['description'], $user->description );
$this->assertSame( $expected_output['nickname'], $user->nickname );
$this->assertTrue( wp_check_password( addslashes( $expected_output['password'] ), $user->user_pass ) );
$user_id = $actual_output['id'];
@@ -2112,38 +2112,38 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
}
}
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
$actual_output = $response->get_data();
// Compare expected API output to actual API output.
if ( isset( $expected_output['username'] ) ) {
$this->assertEquals( $expected_output['username'], $actual_output['username'] );
$this->assertSame( $expected_output['username'], $actual_output['username'] );
}
$this->assertEquals( $expected_output['name'], $actual_output['name'] );
$this->assertEquals( $expected_output['first_name'], $actual_output['first_name'] );
$this->assertEquals( $expected_output['last_name'], $actual_output['last_name'] );
$this->assertEquals( $expected_output['url'], $actual_output['url'] );
$this->assertEquals( $expected_output['description'], $actual_output['description'] );
$this->assertEquals( $expected_output['nickname'], $actual_output['nickname'] );
$this->assertSame( $expected_output['name'], $actual_output['name'] );
$this->assertSame( $expected_output['first_name'], $actual_output['first_name'] );
$this->assertSame( $expected_output['last_name'], $actual_output['last_name'] );
$this->assertSame( $expected_output['url'], $actual_output['url'] );
$this->assertSame( $expected_output['description'], $actual_output['description'] );
$this->assertSame( $expected_output['nickname'], $actual_output['nickname'] );
// Compare expected API output to WP internal values.
$user = get_userdata( $actual_output['id'] );
if ( isset( $expected_output['username'] ) ) {
$this->assertEquals( $expected_output['username'], $user->user_login );
$this->assertSame( $expected_output['username'], $user->user_login );
}
$this->assertEquals( $expected_output['name'], $user->display_name );
$this->assertEquals( $expected_output['first_name'], $user->first_name );
$this->assertEquals( $expected_output['last_name'], $user->last_name );
$this->assertEquals( $expected_output['url'], $user->user_url );
$this->assertEquals( $expected_output['description'], $user->description );
$this->assertEquals( $expected_output['nickname'], $user->nickname );
$this->assertSame( $expected_output['name'], $user->display_name );
$this->assertSame( $expected_output['first_name'], $user->first_name );
$this->assertSame( $expected_output['last_name'], $user->last_name );
$this->assertSame( $expected_output['url'], $user->user_url );
$this->assertSame( $expected_output['description'], $user->description );
$this->assertSame( $expected_output['nickname'], $user->nickname );
$this->assertTrue( wp_check_password( addslashes( $expected_output['password'] ), $user->user_pass ) );
}
public function test_user_roundtrip_as_editor() {
wp_set_current_user( self::$editor );
$this->assertEquals( ! is_multisite(), current_user_can( 'unfiltered_html' ) );
$this->assertSame( ! is_multisite(), current_user_can( 'unfiltered_html' ) );
$this->verify_user_roundtrip(
array(
'id' => self::$editor,
@@ -2296,10 +2296,10 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
return;
}
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
$data = $response->get_data();
$this->assertTrue( $data['deleted'] );
$this->assertEquals( 'Deleted User', $data['previous']['name'] );
$this->assertSame( 'Deleted User', $data['previous']['name'] );
}
public function test_delete_item_no_trash() {
@@ -2355,10 +2355,10 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
return;
}
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
$data = $response->get_data();
$this->assertTrue( $data['deleted'] );
$this->assertEquals( 'Deleted User', $data['previous']['name'] );
$this->assertSame( 'Deleted User', $data['previous']['name'] );
}
public function test_delete_current_item_no_trash() {
@@ -2459,7 +2459,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
return;
}
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
// Check that the post has been updated correctly.
$post = get_post( $test_post );
@@ -2527,7 +2527,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
}
$test_post = get_post( $test_post );
$this->assertEquals( 'trash', $test_post->post_status );
$this->assertSame( 'trash', $test_post->post_status );
}
public function test_delete_user_reassign_passed_as_string_false_trashes_post() {
@@ -2555,7 +2555,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
}
$test_post = get_post( $test_post );
$this->assertEquals( 'trash', $test_post->post_status );
$this->assertSame( 'trash', $test_post->post_status );
}
public function test_delete_user_reassign_passed_as_empty_string_trashes_post() {
@@ -2583,7 +2583,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
}
$test_post = get_post( $test_post );
$this->assertEquals( 'trash', $test_post->post_status );
$this->assertSame( 'trash', $test_post->post_status );
}
public function test_delete_user_reassign_passed_as_0_reassigns_author() {
@@ -2620,7 +2620,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$data = $response->get_data();
$properties = $data['schema']['properties'];
$this->assertEquals( 19, count( $properties ) );
$this->assertSame( 19, count( $properties ) );
$this->assertArrayHasKey( 'avatar_urls', $properties );
$this->assertArrayHasKey( 'capabilities', $properties );
$this->assertArrayHasKey( 'description', $properties );
@@ -2684,7 +2684,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$data = $response->get_data();
$this->assertArrayHasKey( 'my_custom_int', $data['schema']['properties'] );
$this->assertEquals( $schema, $data['schema']['properties']['my_custom_int'] );
$this->assertSame( $schema, $data['schema']['properties']['my_custom_int'] );
wp_set_current_user( 1 );
@@ -2909,14 +2909,14 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
$request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/users/%d', self::$user ) );
$response = rest_get_server()->dispatch( $request );
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
$data = $response->get_data();
$this->assertArrayHasKey( 'meta', $data );
$meta = (array) $data['meta'];
$this->assertArrayHasKey( $meta_key, $meta );
$this->assertEquals( $expected, $meta[ $meta_key ] );
$this->assertSame( $expected, $meta[ $meta_key ] );
}
public function data_get_default_data() {
@@ -3021,25 +3021,25 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
}
protected function check_user_data( $user, $data, $context, $links ) {
$this->assertEquals( $user->ID, $data['id'] );
$this->assertEquals( $user->display_name, $data['name'] );
$this->assertEquals( $user->user_url, $data['url'] );
$this->assertEquals( $user->description, $data['description'] );
$this->assertEquals( get_author_posts_url( $user->ID ), $data['link'] );
$this->assertSame( $user->ID, $data['id'] );
$this->assertSame( $user->display_name, $data['name'] );
$this->assertSame( $user->user_url, $data['url'] );
$this->assertSame( $user->description, $data['description'] );
$this->assertSame( get_author_posts_url( $user->ID ), $data['link'] );
$this->assertArrayHasKey( 'avatar_urls', $data );
$this->assertEquals( $user->user_nicename, $data['slug'] );
$this->assertSame( $user->user_nicename, $data['slug'] );
if ( 'edit' === $context ) {
$this->assertEquals( $user->first_name, $data['first_name'] );
$this->assertEquals( $user->last_name, $data['last_name'] );
$this->assertEquals( $user->nickname, $data['nickname'] );
$this->assertEquals( $user->user_email, $data['email'] );
$this->assertSame( $user->first_name, $data['first_name'] );
$this->assertSame( $user->last_name, $data['last_name'] );
$this->assertSame( $user->nickname, $data['nickname'] );
$this->assertSame( $user->user_email, $data['email'] );
$this->assertEquals( (object) $user->allcaps, $data['capabilities'] );
$this->assertEquals( (object) $user->caps, $data['extra_capabilities'] );
$this->assertEquals( gmdate( 'c', strtotime( $user->user_registered ) ), $data['registered_date'] );
$this->assertEquals( $user->user_login, $data['username'] );
$this->assertEquals( $user->roles, $data['roles'] );
$this->assertEquals( get_user_locale( $user ), $data['locale'] );
$this->assertSame( gmdate( 'c', strtotime( $user->user_registered ) ), $data['registered_date'] );
$this->assertSame( $user->user_login, $data['username'] );
$this->assertSame( $user->roles, $data['roles'] );
$this->assertSame( get_user_locale( $user ), $data['locale'] );
}
if ( 'edit' !== $context ) {
@@ -3067,7 +3067,7 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
}
protected function check_get_user_response( $response, $context = 'view' ) {
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
$data = $response->get_data();
$userdata = get_userdata( $data['id'] );
@@ -3076,9 +3076,9 @@ class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase {
protected function check_add_edit_user_response( $response, $update = false ) {
if ( $update ) {
$this->assertEquals( 200, $response->get_status() );
$this->assertSame( 200, $response->get_status() );
} else {
$this->assertEquals( 201, $response->get_status() );
$this->assertSame( 201, $response->get_status() );
}
$data = $response->get_data();