WordPress.org

Make WordPress Core

Ticket #43458: 43458.2.patch

File 43458.2.patch, 12.7 KB (added by remyvv, 18 months ago)

Updated unit-tests as well.

  • src/wp-admin/includes/image.php

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    554554 * @return bool True if suitable, false if not suitable.
    555555 */
    556556function file_is_displayable_image( $path ) {
    557         $displayable_image_types = array( IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_BMP );
     557        $displayable_image_types = array( IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_BMP, IMAGETYPE_ICO );
    558558
    559559        $info = @getimagesize( $path );
    560560        if ( empty( $info ) ) {
  • tests/phpunit/tests/image/functions.php

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    8585                        'test-image.gif',
    8686                        'test-image.png',
    8787                        'test-image.jpg',
     88                        'test-image.ico',
    8889                );
    8990
    9091                foreach ( $files as $file ) {
  • new file tests/phpunit/data/images/test-image.ico

    diff --git tests/phpunit/data/images/test-image.ico tests/phpunit/data/images/test-image.ico
    new file mode 100644
    index 0000000000000000000000000000000000000000..80731c3190ee87213c8291e345b3577f26e977ae
    GIT binary patch
    literal 102793
    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
    K^ckt$XZ{b08D0he