WordPress.org

Make WordPress Core

Ticket #24202: 24202.tests.diff

File 24202.tests.diff, 6.7 KB (added by soulseekah, 20 months 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}