WordPress.org

Make WordPress Core

Ticket #24202: 24202.tests.diff

File 24202.tests.diff, 6.7 KB (added by soulseekah, 5 years ago)

Makes tests/media.php pass

  • tests/media.php

     
    198198        /**
    199199         * @ticket 22960
    200200         */
    201         function test_get_attached_image_srcs() {
    202                 $post_id = $this->factory->post->create();
    203                 $this->factory->attachment->create_object( $this->img_name, $post_id, array(
    204                         'post_mime_type' => 'image/jpeg',
    205                         'post_type' => 'attachment'
    206                 ) );
    207 
    208                 $images = get_attached_image_srcs( $post_id );
    209                 $this->assertEquals( $images, array( $this->img_url ) );
    210         }
    211 
    212         /**
    213          * @ticket 22960
    214          */
    215         function test_content_images() {
    216                 $src1 = $this->img_url;
    217                 $html1 = $this->img_html;
    218                 $src2 = str_replace( '.jpg', '2.jpg', $this->img_url );
    219                 $html2 = str_replace( $src1, $src2, $this->img_html );
    220                 $src3 = str_replace( '.jpg', '3.jpg', $this->img_url );
    221                 $html3 = str_replace( $src1, $src3, $this->img_html );
    222 
    223                 $blob =<<<BLOB
    224 This is a sentence that will all of a sudden contain {$html1} and then {$html2} and why not {$html3}
    225 BLOB;
    226 
    227                 $images = get_content_images( $blob );
    228                 $this->assertEquals( $images, array( $html1, $html2, $html3 ) );
    229 
    230                 $images = get_content_images( $blob, false );
    231                 $this->assertEquals( $images, array( $src1, $src2, $src3 ) );
    232 
    233                 $images = get_content_images( $blob, true );
    234                 $this->assertEquals( $images, array( $html1, $html2, $html3 ) );
    235 
    236                 $images = get_content_images( $blob, false );
    237                 $this->assertEquals( $images, array( $src1, $src2, $src3 ) );
    238 
    239                 $images = get_content_images( $blob, true, 1 );
    240                 $this->assertEquals( $images, array( $html1 ) );
    241 
    242                 $images = get_content_images( $blob, false, 1 );
    243                 $this->assertEquals( $images, array( $src1 ) );
    244         }
    245 
    246         /**
    247          * @ticket 22960
    248          */
    249         function test_content_image() {
    250                 $blob =<<<BLOB
    251 This is a sentence that will all of a sudden contain {$this->img_html}
    252 BLOB;
    253 
    254                 $image = get_content_image( $blob );
    255                 $this->assertEquals( $image, $this->img_html );
    256 
    257                 $image = get_content_image( $blob, false );
    258                 $this->assertEquals( $image, $this->img_url );
    259 
    260                 $linked_html = '<a href="http://woo.com">' . $this->img_html . '</a>';
    261                 $blob = "This is a sentence that will all of a sudden contain $linked_html";
    262                 $image = get_content_image( $blob );
    263                 $this->assertEquals( $image, $linked_html );
    264 
    265                 $captioned_html = '[caption width="300"]<a href="http://woo.com">' . $this->img_html . '</a> A Caption[/caption]';
    266                 $blob = "This is a sentence that will all of a sudden contain $captioned_html";
    267                 $result = '<div class="wp-caption alignnone" style="width: 310px"><a href="http://woo.com"><img src="http://example.org/wp-content/uploads/image.jpg"/></a><p class="wp-caption-text">A Caption</p></div>';
    268                 $image = get_content_image( $blob );
    269                 $this->assertEquals( $image, $result );
    270         }
    271 
    272         /**
    273          * @ticket 22960
    274          */
    275         function test_content_galleries() {
    276                 $ids1 = array();
    277                 $ids1_srcs = array();
    278                 foreach ( range( 1, 3 ) as $i ) {
    279                         $attachment_id = $this->factory->attachment->create_object( "image$i.jpg", 0, array(
    280                                 'post_mime_type' => 'image/jpeg',
    281                                 'post_type' => 'attachment'
    282                         ) );
    283                         wp_update_attachment_metadata( $attachment_id, $this->img_dimensions );
    284                         $ids1[] = $attachment_id;
    285                         $ids1_srcs[] = 'http://' . WP_TESTS_DOMAIN . '/wp-content/uploads/' . "image$i.jpg";
    286                 }
    287 
    288                 $ids2 = array();
    289                 $ids2_srcs = array();
    290                 foreach ( range( 4, 6 ) as $i ) {
    291                         $attachment_id = $this->factory->attachment->create_object( "image$i.jpg", 0, array(
    292                                 'post_mime_type' => 'image/jpeg',
    293                                 'post_type' => 'attachment'
    294                         ) );
    295                         wp_update_attachment_metadata( $attachment_id, $this->img_dimensions );
    296                         $ids2[] = $attachment_id;
    297                         $ids2_srcs[] = 'http://' . WP_TESTS_DOMAIN . '/wp-content/uploads/' . "image$i.jpg";
    298                 }
    299 
    300                 $ids1_joined = join( ',', $ids1 );
    301                 $ids2_joined = join( ',', $ids2 );
    302 
    303                 $blob =<<<BLOB
    304 [gallery ids="$ids1_joined"]
    305 
    306 [gallery ids="$ids2_joined"]
    307 BLOB;
    308 
    309                 $post_id = $this->factory->post->create( array( 'post_content' => $blob ) );
    310                 $galleries = get_content_galleries( get_post_field( 'post_content', $post_id ), false );
    311                 $expected = array(
    312                         array( 'ids' => $ids1_joined, 'src' => $ids1_srcs ),
    313                         array( 'ids' => $ids2_joined, 'src' => $ids2_srcs )
    314                 );
    315                 $this->assertEquals( $galleries, $expected );
    316         }
    317 
    318         /**
    319          * @ticket 22960
    320          */
    321201        function test_post_galleries_images() {
    322202                $ids1 = array();
    323203                $ids1_srcs = array();
     
    356236                $this->assertEquals( $srcs, array( $ids1_srcs, $ids2_srcs ) );
    357237        }
    358238
    359         /**
    360          * @ticket 22960
    361          */
    362         function test_post_gallery_images() {
    363                 $ids1 = array();
    364                 $ids1_srcs = array();
    365                 foreach ( range( 1, 3 ) as $i ) {
    366                         $attachment_id = $this->factory->attachment->create_object( "image$i.jpg", 0, array(
    367                                 'post_mime_type' => 'image/jpeg',
    368                                 'post_type' => 'attachment'
    369                         ) );
    370                         wp_update_attachment_metadata( $attachment_id, $this->img_dimensions );
    371                         $ids1[] = $attachment_id;
    372                         $ids1_srcs[] = 'http://' . WP_TESTS_DOMAIN . '/wp-content/uploads/' . "image$i.jpg";
    373                 }
    374 
    375                 $ids2 = array();
    376                 $ids2_srcs = array();
    377                 foreach ( range( 4, 6 ) as $i ) {
    378                         $attachment_id = $this->factory->attachment->create_object( "image$i.jpg", 0, array(
    379                                 'post_mime_type' => 'image/jpeg',
    380                                 'post_type' => 'attachment'
    381                         ) );
    382                         wp_update_attachment_metadata( $attachment_id, $this->img_dimensions );
    383                         $ids2[] = $attachment_id;
    384                         $ids2_srcs[] = 'http://' . WP_TESTS_DOMAIN . '/wp-content/uploads/' . "image$i.jpg";
    385                 }
    386 
    387                 $ids1_joined = join( ',', $ids1 );
    388                 $ids2_joined = join( ',', $ids2 );
    389 
    390                 $blob =<<<BLOB
    391 [gallery ids="$ids1_joined"]
    392 
    393 [gallery ids="$ids2_joined"]
    394 BLOB;
    395                 $post_id = $this->factory->post->create( array( 'post_content' => $blob ) );
    396                 $srcs = get_post_gallery_images( $post_id );
    397                 $this->assertEquals( $srcs, $ids1_srcs );
    398         }
    399 
    400         function test_get_embedded_media() {
    401                 $obj =<<<OBJ
    402 <object src="this" data="that">
    403         <param name="value"/>
    404 </object>
    405 OBJ;
    406                 $embed =<<<EMBED
    407 <embed src="something.mp4"/>
    408 EMBED;
    409                 $iframe =<<<IFRAME
    410 <iframe src="youtube.com" width="7000" />
    411 IFRAME;
    412                 $audio =<<<AUDIO
    413 <audio preload="none">
    414         <source />
    415 </audio>
    416 AUDIO;
    417                 $video =<<<VIDEO
    418 <video preload="none">
    419         <source />
    420 </video>
    421 VIDEO;
    422 
    423                 $content =<<<CONTENT
    424 This is a comment
    425 $obj
    426 
    427 This is a comment
    428 $embed
    429 
    430 This is a comment
    431 $iframe
    432 
    433 This is a comment
    434 $audio
    435 
    436 This is a comment
    437 $video
    438 
    439 This is a comment
    440 CONTENT;
    441 
    442                 $audios = array_values( compact( 'audio', 'obj', 'embed', 'iframe' ) );
    443                 $videos = array_values( compact( 'video', 'obj', 'embed', 'iframe' ) );
    444 
    445                 $matches = get_embedded_media( 'audio', $content );
    446                 $this->assertEquals( $matches, $audios );
    447                 $matches = get_embedded_media( 'video', $content );
    448                 $this->assertEquals( $matches, $videos );
    449         }
    450239}