Make WordPress Core


Ignore:
Timestamp:
12/07/2015 08:07:37 PM (9 years ago)
Author:
mikeschroder
Message:

Media: Don't generate responsive image attributes if src does not match ID in wp-image- class.

We rely on the wp-image- class to quickly find an attachment ID to add responsive image attributes.
To avoid incorrect images being displayed, do not add these attributes if the src does not match the
meta from the attachment ID in the class.

Props azaozz, kovshenin, joemcgill.
Fixes: #34898.

File:
1 edited

Legend:

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

    r35753 r35820  
    10571057
    10581058        $this->assertSame( $content_filtered, wp_make_content_images_responsive( $content_unfiltered ) );
     1059    }
     1060
     1061    /**
     1062     * When rendering attributes for responsive images,
     1063     * we rely on the 'wp-image-*' class to find the image by ID.
     1064     * The class name may not be consistent with attachment IDs in DB when
     1065     * working with imported content or when a user has edited
     1066     * the 'src' attribute manually. To avoid incorrect images
     1067     * being displayed, ensure we don't add attributes in this case.
     1068     *
     1069     * @ticket 34898
     1070     * @ticket 33641
     1071     */
     1072    function test_wp_make_content_images_responsive_wrong() {
     1073        $image = get_image_tag( self::$large_id, '', '', '', 'medium' );
     1074
     1075        // Replace the src URL
     1076        $image_wrong_src = preg_replace( '|src="[^"]+"|', 'src="http://' . WP_TESTS_DOMAIN . '/wp-content/uploads/foo.jpg"', $image );
     1077
     1078        $this->assertSame( $image_wrong_src, wp_make_content_images_responsive( $image_wrong_src ) );
    10591079    }
    10601080
Note: See TracChangeset for help on using the changeset viewer.