Make WordPress Core


Ignore:
Timestamp:
03/20/2019 08:06:22 PM (6 years ago)
Author:
adamsilverstein
Message:

Media: grid view attachment filter drop down - only show available mime types.

In the media library gird view, properly limit the media attachment filter to available mime types, matching the list view.

Props itzmekhokan.
Fixes #43658.

File:
1 edited

Legend:

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

    r44645 r44947  
    464464        $this->assertInternalType( 'array', $mimes );
    465465        $this->assertNotEmpty( $mimes );
     466    }
     467
     468    /**
     469     * Test that the media grid uses the correct available single media type.
     470     * @ticket 43658
     471     */
     472    function test_wp_enqueue_media_single_mime_type() {
     473        $filename      = DIR_TESTDATA . '/images/test-image.jpg';
     474        $contents      = file_get_contents( $filename );
     475        $upload        = wp_upload_bits( basename( $filename ), null, $contents );
     476        $attachment_id = $this->_make_attachment( $upload );
     477
     478        add_filter(
     479            'media_view_settings',
     480            function( $settings ) {
     481                $this->assertEquals( array( 'image' ), array_keys( $settings['mimeTypes'] ) );
     482                return $settings;
     483            }
     484        );
     485        wp_enqueue_media();
     486        remove_all_filters( 'media_view_settings' );
     487    }
     488
     489    /**
     490     * Test that the media grid uses the correct available multiple media types.
     491     * @ticket 43658
     492     */
     493    function test_wp_enqueue_media_multiple_mime_types() {
     494        $filename      = DIR_TESTDATA . '/images/test-image.jpg';
     495        $contents      = file_get_contents( $filename );
     496        $upload        = wp_upload_bits( basename( $filename ), null, $contents );
     497        $attachment_id = $this->_make_attachment( $upload );
     498
     499        $filename      = DIR_TESTDATA . '/uploads/small-audio.mp3';
     500        $contents      = file_get_contents( $filename );
     501        $upload        = wp_upload_bits( basename( $filename ), null, $contents );
     502        $attachment_id = $this->_make_attachment( $upload );
     503
     504        add_filter(
     505            'media_view_settings',
     506            function( $settings ) {
     507                $this->assertEquals( array( 'image', 'audio' ), array_keys( $settings['mimeTypes'] ) );
     508                return $settings;
     509            }
     510        );
     511        wp_enqueue_media();
     512        remove_all_filters( 'media_view_settings' );
    466513    }
    467514
Note: See TracChangeset for help on using the changeset viewer.