Make WordPress Core


Ignore:
Timestamp:
09/02/2020 12:35:36 AM (6 years ago)
Author:
SergeyBiryukov
Message:

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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/oembed/controller.php

    r48135 r48937  
    176176
    177177        function test_wp_oembed_ensure_format() {
    178                 $this->assertEquals( 'json', wp_oembed_ensure_format( 'json' ) );
    179                 $this->assertEquals( 'xml', wp_oembed_ensure_format( 'xml' ) );
    180                 $this->assertEquals( 'json', wp_oembed_ensure_format( 123 ) );
    181                 $this->assertEquals( 'json', wp_oembed_ensure_format( 'random' ) );
    182                 $this->assertEquals( 'json', wp_oembed_ensure_format( array() ) );
     178                $this->assertSame( 'json', wp_oembed_ensure_format( 'json' ) );
     179                $this->assertSame( 'xml', wp_oembed_ensure_format( 'xml' ) );
     180                $this->assertSame( 'json', wp_oembed_ensure_format( 123 ) );
     181                $this->assertSame( 'json', wp_oembed_ensure_format( 'random' ) );
     182                $this->assertSame( 'json', wp_oembed_ensure_format( array() ) );
    183183        }
    184184
     
    266266                $data     = $response->get_data();
    267267
    268                 $this->assertEquals( 'rest_no_route', $data['code'] );
     268                $this->assertSame( 'rest_no_route', $data['code'] );
    269269        }
    270270
     
    275275                $data     = $response->get_data();
    276276
    277                 $this->assertEquals( 'rest_missing_callback_param', $data['code'] );
    278                 $this->assertEquals( 'url', $data['data']['params'][0] );
     277                $this->assertSame( 'rest_missing_callback_param', $data['code'] );
     278                $this->assertSame( 'url', $data['data']['params'][0] );
    279279        }
    280280
     
    286286                $data     = $response->get_data();
    287287
    288                 $this->assertEquals( 'oembed_invalid_url', $data['code'] );
     288                $this->assertSame( 'oembed_invalid_url', $data['code'] );
    289289        }
    290290
     
    335335                $this->assertArrayHasKey( 'width', $data );
    336336
    337                 $this->assertEquals( '1.0', $data['version'] );
    338                 $this->assertEquals( get_bloginfo( 'name' ), $data['provider_name'] );
    339                 $this->assertEquals( home_url(), $data['provider_url'] );
    340                 $this->assertEquals( $user->display_name, $data['author_name'] );
    341                 $this->assertEquals( get_author_posts_url( $user->ID, $user->user_nicename ), $data['author_url'] );
    342                 $this->assertEquals( $post->post_title, $data['title'] );
    343                 $this->assertEquals( 'rich', $data['type'] );
     337                $this->assertSame( '1.0', $data['version'] );
     338                $this->assertSame( get_bloginfo( 'name' ), $data['provider_name'] );
     339                $this->assertSame( home_url(), $data['provider_url'] );
     340                $this->assertSame( $user->display_name, $data['author_name'] );
     341                $this->assertSame( get_author_posts_url( $user->ID, $user->user_nicename ), $data['author_url'] );
     342                $this->assertSame( $post->post_title, $data['title'] );
     343                $this->assertSame( 'rich', $data['type'] );
    344344                $this->assertTrue( $data['width'] <= $request['maxwidth'] );
    345345        }
     
    378378                $this->assertArrayHasKey( 'width', $data );
    379379
    380                 $this->assertEquals( '1.0', $data['version'] );
    381                 $this->assertEquals( get_bloginfo( 'name' ), $data['provider_name'] );
    382                 $this->assertEquals( home_url(), $data['provider_url'] );
    383                 $this->assertEquals( get_bloginfo( 'name' ), $data['author_name'] );
    384                 $this->assertEquals( home_url(), $data['author_url'] );
    385                 $this->assertEquals( $post->post_title, $data['title'] );
    386                 $this->assertEquals( 'rich', $data['type'] );
     380                $this->assertSame( '1.0', $data['version'] );
     381                $this->assertSame( get_bloginfo( 'name' ), $data['provider_name'] );
     382                $this->assertSame( home_url(), $data['provider_url'] );
     383                $this->assertSame( get_bloginfo( 'name' ), $data['author_name'] );
     384                $this->assertSame( home_url(), $data['author_url'] );
     385                $this->assertSame( $post->post_title, $data['title'] );
     386                $this->assertSame( 'rich', $data['type'] );
    387387                $this->assertTrue( $data['width'] <= $request['maxwidth'] );
    388388
     
    423423                $this->assertArrayHasKey( 'width', $data );
    424424
    425                 $this->assertEquals( '1.0', $data['version'] );
    426                 $this->assertEquals( get_bloginfo( 'name' ), $data['provider_name'] );
    427                 $this->assertEquals( home_url(), $data['provider_url'] );
    428                 $this->assertEquals( $user->display_name, $data['author_name'] );
    429                 $this->assertEquals( get_author_posts_url( $user->ID, $user->user_nicename ), $data['author_url'] );
    430                 $this->assertEquals( $post->post_title, $data['title'] );
    431                 $this->assertEquals( 'rich', $data['type'] );
     425                $this->assertSame( '1.0', $data['version'] );
     426                $this->assertSame( get_bloginfo( 'name' ), $data['provider_name'] );
     427                $this->assertSame( home_url(), $data['provider_url'] );
     428                $this->assertSame( $user->display_name, $data['author_name'] );
     429                $this->assertSame( get_author_posts_url( $user->ID, $user->user_nicename ), $data['author_url'] );
     430                $this->assertSame( $post->post_title, $data['title'] );
     431                $this->assertSame( 'rich', $data['type'] );
    432432                $this->assertTrue( $data['width'] <= $request['maxwidth'] );
    433433        }
     
    509509
    510510        function test_get_oembed_endpoint_url() {
    511                 $this->assertEquals( home_url() . '/index.php?rest_route=/oembed/1.0/embed', get_oembed_endpoint_url() );
    512                 $this->assertEquals( home_url() . '/index.php?rest_route=/oembed/1.0/embed', get_oembed_endpoint_url( '', 'json' ) );
    513                 $this->assertEquals( home_url() . '/index.php?rest_route=/oembed/1.0/embed', get_oembed_endpoint_url( '', 'xml' ) );
     511                $this->assertSame( home_url() . '/index.php?rest_route=/oembed/1.0/embed', get_oembed_endpoint_url() );
     512                $this->assertSame( home_url() . '/index.php?rest_route=/oembed/1.0/embed', get_oembed_endpoint_url( '', 'json' ) );
     513                $this->assertSame( home_url() . '/index.php?rest_route=/oembed/1.0/embed', get_oembed_endpoint_url( '', 'xml' ) );
    514514
    515515                $post_id     = $this->factory()->post->create();
     
    517517                $url_encoded = urlencode( $url );
    518518
    519                 $this->assertEquals( home_url() . '/index.php?rest_route=%2Foembed%2F1.0%2Fembed&url=' . $url_encoded, get_oembed_endpoint_url( $url ) );
    520                 $this->assertEquals( home_url() . '/index.php?rest_route=%2Foembed%2F1.0%2Fembed&url=' . $url_encoded . '&format=xml', get_oembed_endpoint_url( $url, 'xml' ) );
     519                $this->assertSame( home_url() . '/index.php?rest_route=%2Foembed%2F1.0%2Fembed&url=' . $url_encoded, get_oembed_endpoint_url( $url ) );
     520                $this->assertSame( home_url() . '/index.php?rest_route=%2Foembed%2F1.0%2Fembed&url=' . $url_encoded . '&format=xml', get_oembed_endpoint_url( $url, 'xml' ) );
    521521        }
    522522
     
    524524                update_option( 'permalink_structure', '/%postname%' );
    525525
    526                 $this->assertEquals( home_url() . '/wp-json/oembed/1.0/embed', get_oembed_endpoint_url() );
    527                 $this->assertEquals( home_url() . '/wp-json/oembed/1.0/embed', get_oembed_endpoint_url( '', 'xml' ) );
     526                $this->assertSame( home_url() . '/wp-json/oembed/1.0/embed', get_oembed_endpoint_url() );
     527                $this->assertSame( home_url() . '/wp-json/oembed/1.0/embed', get_oembed_endpoint_url( '', 'xml' ) );
    528528
    529529                $post_id     = $this->factory()->post->create();
     
    531531                $url_encoded = urlencode( $url );
    532532
    533                 $this->assertEquals( home_url() . '/wp-json/oembed/1.0/embed?url=' . $url_encoded, get_oembed_endpoint_url( $url ) );
    534                 $this->assertEquals( home_url() . '/wp-json/oembed/1.0/embed?url=' . $url_encoded . '&format=xml', get_oembed_endpoint_url( $url, 'xml' ) );
     533                $this->assertSame( home_url() . '/wp-json/oembed/1.0/embed?url=' . $url_encoded, get_oembed_endpoint_url( $url ) );
     534                $this->assertSame( home_url() . '/wp-json/oembed/1.0/embed?url=' . $url_encoded . '&format=xml', get_oembed_endpoint_url( $url, 'xml' ) );
    535535
    536536                update_option( 'permalink_structure', '' );
     
    542542                $response = rest_get_server()->dispatch( $request );
    543543
    544                 $this->assertEquals( 400, $response->get_status() );
     544                $this->assertSame( 400, $response->get_status() );
    545545
    546546                // Test with a user that does not have edit_posts capability.
     
    550550                $response = rest_get_server()->dispatch( $request );
    551551
    552                 $this->assertEquals( 403, $response->get_status() );
     552                $this->assertSame( 403, $response->get_status() );
    553553                $data = $response->get_data();
    554                 $this->assertEquals( $data['code'], 'rest_forbidden' );
     554                $this->assertSame( $data['code'], 'rest_forbidden' );
    555555        }
    556556
     
    560560                $request->set_param( 'url', self::INVALID_OEMBED_URL );
    561561                $response = rest_get_server()->dispatch( $request );
    562                 $this->assertEquals( 404, $response->get_status() );
     562                $this->assertSame( 404, $response->get_status() );
    563563                $data = $response->get_data();
    564                 $this->assertEquals( 'oembed_invalid_url', $data['code'] );
     564                $this->assertSame( 'oembed_invalid_url', $data['code'] );
    565565        }
    566566
     
    571571                $response = rest_get_server()->dispatch( $request );
    572572
    573                 $this->assertEquals( 400, $response->get_status() );
     573                $this->assertSame( 400, $response->get_status() );
    574574        }
    575575
     
    582582                $request->set_param( '_wpnonce', wp_create_nonce( 'wp_rest' ) );
    583583                $response = rest_get_server()->dispatch( $request );
    584                 $this->assertEquals( 200, $response->get_status() );
    585                 $this->assertEquals( 1, $this->request_count );
     584                $this->assertSame( 200, $response->get_status() );
     585                $this->assertSame( 1, $this->request_count );
    586586
    587587                // Subsequent request is cached and so it should not cause a request.
    588588                rest_get_server()->dispatch( $request );
    589                 $this->assertEquals( 1, $this->request_count );
     589                $this->assertSame( 1, $this->request_count );
    590590
    591591                // Rest with another user should also be cached.
     
    597597                $request->set_param( 'maxheight', 789 );
    598598                $response = rest_get_server()->dispatch( $request );
    599                 $this->assertEquals( 1, $this->request_count );
     599                $this->assertSame( 1, $this->request_count );
    600600
    601601                // Test data object.
     
    604604                $this->assertNotEmpty( $data );
    605605                $this->assertInternalType( 'object', $data );
    606                 $this->assertEquals( 'YouTube', $data->provider_name );
    607                 $this->assertEquals( 'https://i.ytimg.com/vi/' . self::YOUTUBE_VIDEO_ID . '/hqdefault.jpg', $data->thumbnail_url );
     606                $this->assertSame( 'YouTube', $data->provider_name );
     607                $this->assertSame( 'https://i.ytimg.com/vi/' . self::YOUTUBE_VIDEO_ID . '/hqdefault.jpg', $data->thumbnail_url );
    608608                $this->assertEquals( $data->width, $request['maxwidth'] );
    609609                $this->assertEquals( $data->height, $request['maxheight'] );
     
    623623                $request->set_param( '_wpnonce', wp_create_nonce( 'wp_rest' ) );
    624624                $response = rest_get_server()->dispatch( $request );
    625                 $this->assertEquals( 200, $response->get_status() );
    626                 $this->assertEquals( 2, $this->request_count );
     625                $this->assertSame( 200, $response->get_status() );
     626                $this->assertSame( 2, $this->request_count );
    627627
    628628                // Test data object.
     
    643643                $request->set_param( 'discover', false );
    644644                $response = rest_get_server()->dispatch( $request );
    645                 $this->assertEquals( 404, $response->get_status() );
    646                 $this->assertEquals( 0, $this->request_count );
     645                $this->assertSame( 404, $response->get_status() );
     646                $this->assertSame( 0, $this->request_count );
    647647        }
    648648
     
    654654                $request->set_param( 'url', self::INVALID_OEMBED_URL );
    655655                $response = rest_get_server()->dispatch( $request );
    656                 $this->assertEquals( 404, $response->get_status() );
    657                 $this->assertEquals( 1, $this->request_count );
     656                $this->assertSame( 404, $response->get_status() );
     657                $this->assertSame( 1, $this->request_count );
    658658        }
    659659
     
    666666                $response = rest_get_server()->dispatch( $request );
    667667
    668                 $this->assertEquals( 400, $response->get_status() );
     668                $this->assertSame( 400, $response->get_status() );
    669669                $data = $response->get_data();
    670                 $this->assertEquals( $data['code'], 'rest_invalid_param' );
     670                $this->assertSame( $data['code'], 'rest_invalid_param' );
    671671        }
    672672
     
    709709                $this->assertArrayHasKey( 'width', $data );
    710710
    711                 $this->assertEquals( '1.0', $data['version'] );
    712                 $this->assertEquals( get_bloginfo( 'name' ), $data['provider_name'] );
    713                 $this->assertEquals( home_url(), $data['provider_url'] );
    714                 $this->assertEquals( $user->display_name, $data['author_name'] );
    715                 $this->assertEquals( get_author_posts_url( $user->ID, $user->user_nicename ), $data['author_url'] );
    716                 $this->assertEquals( $post->post_title, $data['title'] );
    717                 $this->assertEquals( 'rich', $data['type'] );
     711                $this->assertSame( '1.0', $data['version'] );
     712                $this->assertSame( get_bloginfo( 'name' ), $data['provider_name'] );
     713                $this->assertSame( home_url(), $data['provider_url'] );
     714                $this->assertSame( $user->display_name, $data['author_name'] );
     715                $this->assertSame( get_author_posts_url( $user->ID, $user->user_nicename ), $data['author_url'] );
     716                $this->assertSame( $post->post_title, $data['title'] );
     717                $this->assertSame( 'rich', $data['type'] );
    718718                $this->assertTrue( $data['width'] <= $request['maxwidth'] );
    719719        }
     
    758758                $this->assertArrayHasKey( 'width', $data );
    759759
    760                 $this->assertEquals( '1.0', $data['version'] );
    761                 $this->assertEquals( get_bloginfo( 'name' ), $data['provider_name'] );
    762                 $this->assertEquals( home_url(), $data['provider_url'] );
    763                 $this->assertEquals( get_bloginfo( 'name' ), $data['author_name'] );
    764                 $this->assertEquals( home_url(), $data['author_url'] );
    765                 $this->assertEquals( $post->post_title, $data['title'] );
    766                 $this->assertEquals( 'rich', $data['type'] );
     760                $this->assertSame( '1.0', $data['version'] );
     761                $this->assertSame( get_bloginfo( 'name' ), $data['provider_name'] );
     762                $this->assertSame( home_url(), $data['provider_url'] );
     763                $this->assertSame( get_bloginfo( 'name' ), $data['author_name'] );
     764                $this->assertSame( home_url(), $data['author_url'] );
     765                $this->assertSame( $post->post_title, $data['title'] );
     766                $this->assertSame( 'rich', $data['type'] );
    767767                $this->assertTrue( $data['width'] <= $request['maxwidth'] );
    768768
     
    785785                $data     = $response->get_data();
    786786
    787                 $this->assertEquals( 1, $this->oembed_result_filter_count );
     787                $this->assertSame( 1, $this->oembed_result_filter_count );
    788788                $this->assertInternalType( 'object', $data );
    789                 $this->assertEquals( 'Untrusted', $data->provider_name );
    790                 $this->assertEquals( self::UNTRUSTED_PROVIDER_URL, $data->provider_url );
    791                 $this->assertEquals( 'rich', $data->type );
     789                $this->assertSame( 'Untrusted', $data->provider_name );
     790                $this->assertSame( self::UNTRUSTED_PROVIDER_URL, $data->provider_url );
     791                $this->assertSame( 'rich', $data->type );
    792792                $this->assertFalse( $data->html );
    793793        }
     
    808808                $data     = $response->get_data();
    809809
    810                 $this->assertEquals( 1, $this->oembed_result_filter_count );
     810                $this->assertSame( 1, $this->oembed_result_filter_count );
    811811                $this->assertInternalType( 'object', $data );
    812812
Note: See TracChangeset for help on using the changeset viewer.