Media: Fix regression with display of small images in media library.

Fixes a regression in the media library after [38949], which caused
small images (< thumbnail size) to not display within the media library.

Accounts for images that have no intermediate sizes
in `wp_prepare_attachment_for_js()`.

Adds test.

Fixes #38965.
Props joemcgill, clorith, mikeschroder.

git-svn-id: https://develop.svn.wordpress.org/trunk@39396 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Mike Schroder 2016-12-01 00:01:38 +00:00
parent 79182c0fe2
commit 352e997f92
2 changed files with 26 additions and 1 deletions

View File

@ -3139,7 +3139,7 @@ function wp_prepare_attachment_for_js( $attachment ) {
if ( current_user_can( 'delete_post', $attachment->ID ) )
$response['nonces']['delete'] = wp_create_nonce( 'delete-post_' . $attachment->ID );
if ( $meta && ! empty( $meta['sizes'] ) ) {
if ( $meta && ( 'image' === $type || ! empty( $meta['sizes'] ) ) ) {
$sizes = array();
/** This filter is documented in wp-admin/includes/media.php */

View File

@ -269,6 +269,31 @@ https://w.org</a>'
$this->assertEquals( '', $prepped['subtype'] );
}
/**
* @ticket 38965
*/
function test_wp_prepare_attachment_for_js_without_image_sizes() {
// Create the attachement post.
$id = wp_insert_attachment( array(
'post_title' => 'Attachment Title',
'post_type' => 'attachment',
'post_parent' => 0,
'post_mime_type' => 'image/jpeg',
'guid' => 'http://' . WP_TESTS_DOMAIN . '/wp-content/uploads/test-image.jpg',
) );
// Add attachment metadata without sizes.
wp_update_attachment_metadata( $id, array(
'width' => 50,
'height' => 50,
'file' => 'test-image.jpg',
) );
$prepped = wp_prepare_attachment_for_js( get_post( $id ) );
$this->assertTrue( isset( $prepped['sizes'] ) );
}
/**
* @ticket 19067
* @expectedDeprecated wp_convert_bytes_to_hr