Make WordPress Core

Ticket #51393: 51393.diff

File 51393.diff, 2.2 KB (added by SergeyBiryukov, 6 years ago)
  • src/wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php

     
    718718                if ( in_array( 'media_details', $fields, true ) ) {
    719719                        $data['media_details'] = wp_get_attachment_metadata( $post->ID );
    720720
    721                         // Ensure empty details is an empty object.
     721                        // Ensure empty details is an empty array.
    722722                        if ( empty( $data['media_details'] ) ) {
    723                                 $data['media_details'] = new stdClass;
     723                                $data['media_details'] = array();
    724724                        } elseif ( ! empty( $data['media_details']['sizes'] ) ) {
    725725
    726726                                foreach ( $data['media_details']['sizes'] as $size => &$size_data ) {
    … …  
    751751                                        );
    752752                                }
    753753                        } else {
    754                                 $data['media_details']['sizes'] = new stdClass;
     754                                $data['media_details']['sizes'] = array();
    755755                        }
    756756                }
    757757
    … …  
    883883
    884884                $schema['properties']['media_details'] = array(
    885885                        'description' => __( 'Details about the media file, specific to its type.' ),
    886                         'type'        => 'object',
     886                        'type'        => 'array',
    887887                        'context'     => array( 'view', 'edit', 'embed' ),
    888888                        'readonly'    => true,
    889889                );
  • tests/phpunit/tests/rest-api/rest-attachments-controller.php

     
    604604                $original_image_src = wp_get_attachment_image_src( $attachment_id, 'full' );
    605605                remove_image_size( 'rest-api-test' );
    606606
     607                $this->assertInternalType( 'array', $data['media_details'] );
     608                $this->assertInternalType( 'array', $data['media_details']['sizes'] );
    607609                $this->assertSame( $image_src[0], $data['media_details']['sizes']['rest-api-test']['source_url'] );
    608610                $this->assertSame( 'image/jpeg', $data['media_details']['sizes']['rest-api-test']['mime_type'] );
    609611                $this->assertSame( $original_image_src[0], $data['media_details']['sizes']['full']['source_url'] );