Make WordPress Core


Ignore:
Timestamp:
11/18/2015 07:47:11 PM (11 years ago)
Author:
wonderboymusic
Message:

Media: when making images responsive, check if they already have a sizes attribute.

Adds unit test.

Props jaspermdegroot.
Fixes #34678.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/media.php

    r35569 r35678  
    962962                $img_no_width_height = str_replace( ' height="' . $size_array[1] . '"', '', $img_no_width_height );
    963963                $img_no_size_id = str_replace( 'wp-image-', 'id-', $img );
     964                $img_with_sizes_attr = str_replace( '<img ', '<img sizes="99vw" ', $img );
    964965
    965966                // Manually add srcset and sizes to the markup from get_image_tag();
    … …  
    967968                $respimg_no_size_in_class = preg_replace( '|<img ([^>]+) />|', '<img $1 ' . $srcset . ' ' . $sizes . ' />', $img_no_size_in_class );
    968969                $respimg_no_width_height = preg_replace( '|<img ([^>]+) />|', '<img $1 ' . $srcset . ' ' . $sizes . ' />', $img_no_width_height );
     970                $respimg_with_sizes_attr = preg_replace('|<img ([^>]+) />|', '<img $1 ' . $srcset . ' />', $img_with_sizes_attr );
    969971
    970972                $content = '
    … …  
    979981
    980982                        <p>Image, no attachment ID class. Should NOT have srcset and sizes.</p>
    981                         %4$s';
    982 
    983                 $content_unfiltered = sprintf( $content, $img, $img_no_size_in_class, $img_no_width_height, $img_no_size_id );
    984                 $content_filtered = sprintf( $content, $respimg, $respimg_no_size_in_class, $respimg_no_width_height, $img_no_size_id );
     983                        %4$s
     984
     985                        <p>Image, with sizes attribute. Should NOT have two sizes attributes.</p>
     986                        %5$s';
     987
     988                $content_unfiltered = sprintf( $content, $img, $img_no_size_in_class, $img_no_width_height, $img_no_size_id, $img_with_sizes_attr );
     989                $content_filtered = sprintf( $content, $respimg, $respimg_no_size_in_class, $respimg_no_width_height, $img_no_size_id, $respimg_with_sizes_attr );
    985990
    986991                $this->assertSame( $content_filtered, wp_make_content_images_responsive( $content_unfiltered ) );
Note: See TracChangeset for help on using the changeset viewer.