Make WordPress Core

Ticket #34523: 34523.diff

File 34523.diff, 8.8 KB (added by swissspidy, 11 years ago)
  • src/wp-includes/class-wp-oembed-controller.php

    diff --git src/wp-includes/class-wp-oembed-controller.php src/wp-includes/class-wp-oembed-controller.php
    index 0db5340..bc826c0 100644
    final class WP_oEmbed_Controller { 
    6767                $post_id = url_to_postid( $request['url'] );
    6868
    6969                /**
    70                  * Filter the determined post id.
     70                 * Filter the determined post ID.
    7171                 *
    7272                 * @since 4.4.0
    7373                 *
    7474                 * @param int    $post_id The post ID.
    75                  * @param string $url     The requestd URL.
     75                 * @param string $url     The requested URL.
    7676                 */
    7777                $post_id = apply_filters( 'oembed_request_post_id', $post_id, $request['url'] );
    7878
    79                 $data = get_oembed_response_data( $post_id, $request['maxwidth'] );
     79                $data = get_oembed_response_data( $request['maxwidth'], $post_id );
    8080
    8181                if ( ! $data ) {
    8282                        return new WP_Error( 'oembed_invalid_url', get_status_header_desc( 404 ), array( 'status' => 404 ) );
  • src/wp-includes/embed-functions.php

    diff --git src/wp-includes/embed-functions.php src/wp-includes/embed-functions.php
    index 2f430b5..0649dae 100644
    function get_oembed_endpoint_url( $permalink = '', $format = 'json' ) { 
    446446 *
    447447 * @since 4.4.0
    448448 *
    449  * @param int|WP_Post $post   Optional. Post ID or object. Default is global `$post`.
    450449 * @param int         $width  The width for the response.
    451450 * @param int         $height The height for the response.
     451 * @param int|WP_Post $post   Optional. Post ID or object. Default is global `$post`.
    452452 * @return string|false Embed code on success, false if post doesn't exist.
    453453 */
    454 function get_post_embed_html( $post = null, $width, $height ) {
     454function get_post_embed_html( $width, $height, $post = null ) {
    455455        $post = get_post( $post );
    456456
    457457        if ( ! $post ) {
    JS; 
    510510 *
    511511 * @since 4.4.0
    512512 *
    513  * @param WP_Post|int $post  Optional. Post object or ID. Default is global `$post`.
    514513 * @param int         $width The requested width.
     514 * @param WP_Post|int $post  Optional. Post object or ID. Default is global `$post`.
    515515 * @return array|false Response data on success, false if post doesn't exist.
    516516 */
    517 function get_oembed_response_data( $post = null, $width ) {
     517function get_oembed_response_data( $width, $post = null ) {
    518518        $post = get_post( $post );
    519519
    520520        if ( ! $post ) {
    function get_oembed_response_data_rich( $data, $post, $width, $height ) { 
    590590        $data['width']  = absint( $width );
    591591        $data['height'] = absint( $height );
    592592        $data['type']   = 'rich';
    593         $data['html']   = get_post_embed_html( $post, $width, $height );
     593        $data['html']   = get_post_embed_html( $width, $height, $post );
    594594
    595595        // Add post thumbnail to response if available.
    596596        $thumbnail_id = false;
  • tests/phpunit/tests/oembed/getResponseData.php

    diff --git tests/phpunit/tests/oembed/getResponseData.php tests/phpunit/tests/oembed/getResponseData.php
    index 6dcdcbd..2c0b8a3 100644
     
    55 */
    66class Tests_oEmbed_Response_Data extends WP_UnitTestCase {
    77        function test_get_oembed_response_data_non_existent_post() {
    8                 $this->assertFalse( get_oembed_response_data( 0, 100 ) );
     8                $this->assertFalse( get_oembed_response_data( 100, 0 ) );
    99        }
    1010
    1111        function test_get_oembed_response_data() {
    class Tests_oEmbed_Response_Data extends WP_UnitTestCase { 
    1313                        'post_title' => 'Some Post',
    1414                ) );
    1515
    16                 $data = get_oembed_response_data( $post, 400 );
     16                $data = get_oembed_response_data( 400, $post);
    1717
    1818                $this->assertEqualSets( array(
    1919                        'version'       => '1.0',
    class Tests_oEmbed_Response_Data extends WP_UnitTestCase { 
    2525                        'type'          => 'rich',
    2626                        'width'         => 400,
    2727                        'height'        => 225,
    28                         'html'          => get_post_embed_html( $post, 400, 225 ),
     28                        'html'          => get_post_embed_html( 400, 225, $post ),
    2929                ), $data );
    3030        }
    3131
    class Tests_oEmbed_Response_Data extends WP_UnitTestCase { 
    4242                        'post_author' => $user_id,
    4343                ) );
    4444
    45                 $data = get_oembed_response_data( $post, 400 );
     45                $data = get_oembed_response_data( 400, $post);
    4646
    4747                $this->assertEqualSets( array(
    4848                        'version'       => '1.0',
    class Tests_oEmbed_Response_Data extends WP_UnitTestCase { 
    5454                        'type'          => 'rich',
    5555                        'width'         => 400,
    5656                        'height'        => 225,
    57                         'html'          => get_post_embed_html( $post, 400, 225 ),
     57                        'html'          => get_post_embed_html( 400, 225, $post ),
    5858                ), $data );
    5959        }
    6060
    class Tests_oEmbed_Response_Data extends WP_UnitTestCase { 
    6565                        'post_title' => 'Some Post',
    6666                ) );
    6767
    68                 $data = get_oembed_response_data( $post, 600 );
     68                $data = get_oembed_response_data( 600, $post );
    6969
    7070                $this->assertEqualSets( array(
    7171                        'version'       => '1.0',
    class Tests_oEmbed_Response_Data extends WP_UnitTestCase { 
    8585                        'post_status' => 'draft',
    8686                ) );
    8787
    88                 $this->assertFalse( get_oembed_response_data( $post, 100 ) );
     88                $this->assertFalse( get_oembed_response_data( 100, $post ) );
    8989        }
    9090
    9191        function test_get_oembed_response_data_with_scheduled_post() {
    class Tests_oEmbed_Response_Data extends WP_UnitTestCase { 
    9494                        'post_date'   => strftime( '%Y-%m-%d %H:%M:%S', strtotime( '+1 day' ) ),
    9595                ) );
    9696
    97                 $this->assertFalse( get_oembed_response_data( $post, 100 ) );
     97                $this->assertFalse( get_oembed_response_data( 100, $post ) );
    9898        }
    9999
    100100        function test_get_oembed_response_data_with_private_post() {
    class Tests_oEmbed_Response_Data extends WP_UnitTestCase { 
    102102                        'post_status' => 'private',
    103103                ) );
    104104
    105                 $this->assertFalse( get_oembed_response_data( $post, 100 ) );
     105                $this->assertFalse( get_oembed_response_data( 100, $post ) );
    106106        }
    107107
    108108        function test_get_oembed_response_data_maxwidth_too_high() {
    109109                $post = self::factory()->post->create_and_get();
    110110
    111                 $data = get_oembed_response_data( $post, 1000 );
     111                $data = get_oembed_response_data( 1000, $post );
    112112
    113113                $this->assertEquals( 600, $data['width'] );
    114114                $this->assertEquals( 338, $data['height'] );
    class Tests_oEmbed_Response_Data extends WP_UnitTestCase { 
    117117        function test_get_oembed_response_data_maxwidth_too_low() {
    118118                $post = self::factory()->post->create_and_get();
    119119
    120                 $data = get_oembed_response_data( $post, 100 );
     120                $data = get_oembed_response_data( 100, $post );
    121121
    122122                $this->assertEquals( 200, $data['width'] );
    123123                $this->assertEquals( 200, $data['height'] );
    class Tests_oEmbed_Response_Data extends WP_UnitTestCase { 
    126126        function test_get_oembed_response_data_maxwidth_invalid() {
    127127                $post = self::factory()->post->create_and_get();
    128128
    129                 $data = get_oembed_response_data( $post, '400;" DROP TABLES' );
     129                $data = get_oembed_response_data('400;" DROP TABLES', $post );
    130130
    131131                $this->assertEquals( 400, $data['width'] );
    132132                $this->assertEquals( 225, $data['height'] );
    133133
    134                 $data = get_oembed_response_data( $post, "lol this isn't even a number?!?!?" );
     134                $data = get_oembed_response_data( "lol this isn't even a number?!?!?", $post );
    135135
    136136                $this->assertEquals( 200, $data['width'] );
    137137                $this->assertEquals( 200, $data['height'] );
    class Tests_oEmbed_Response_Data extends WP_UnitTestCase { 
    145145                ) );
    146146                set_post_thumbnail( $post, $attachment_id );
    147147
    148                 $data = get_oembed_response_data( $post, 400 );
     148                $data = get_oembed_response_data( 400, $post );
    149149
    150150                $this->assertArrayHasKey( 'thumbnail_url', $data );
    151151                $this->assertArrayHasKey( 'thumbnail_width', $data );
    class Tests_oEmbed_Response_Data extends WP_UnitTestCase { 
    160160                        'post_mime_type' => 'image/jpeg',
    161161                ) );
    162162
    163                 $data = get_oembed_response_data( $post, 400 );
     163                $data = get_oembed_response_data( 400, $post );
    164164
    165165                $this->assertArrayHasKey( 'thumbnail_url', $data );
    166166                $this->assertArrayHasKey( 'thumbnail_width', $data );
  • tests/phpunit/tests/oembed/template.php

    diff --git tests/phpunit/tests/oembed/template.php tests/phpunit/tests/oembed/template.php
    index 644a6d5..ca07035 100644
    class Tests_Embed_Template extends WP_UnitTestCase { 
    236236        }
    237237
    238238        function test_get_post_embed_html_non_existent_post() {
    239                 $this->assertFalse( get_post_embed_html( 0, 200, 200 ) );
    240                 $this->assertFalse( get_post_embed_html( null, 200, 200 ) );
     239                $this->assertFalse( get_post_embed_html( 200, 200, 0 ) );
     240                $this->assertFalse( get_post_embed_html( 200, 200 ) );
    241241        }
    242242
    243243        function test_get_post_embed_html() {
    class Tests_Embed_Template extends WP_UnitTestCase { 
    245245
    246246                $expected = '<iframe sandbox="allow-scripts" security="restricted" src="' . esc_url( get_post_embed_url( $post_id ) ) . '" width="200" height="200" title="Embedded WordPress Post" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"></iframe>';
    247247
    248                 $this->assertStringEndsWith( $expected, get_post_embed_html( $post_id, 200, 200 ) );
     248                $this->assertStringEndsWith( $expected, get_post_embed_html( 200, 200, $post_id ) );
    249249        }
    250250
    251251        function test_add_host_js() {