diff --git a/core/tests/Drupal/KernelTests/Core/File/MimeTypeTest.php b/core/tests/Drupal/KernelTests/Core/File/MimeTypeTest.php index 9979d9c..9657a7b 100644 --- a/core/tests/Drupal/KernelTests/Core/File/MimeTypeTest.php +++ b/core/tests/Drupal/KernelTests/Core/File/MimeTypeTest.php @@ -51,6 +51,32 @@ public function testFileMimeTypeDetection() { $this->assertIdentical($output, $expected, format_string('Mimetype (using default mappings) for %input is %output (expected: %expected).', array('%input' => $input, '%output' => $output, '%expected' => $expected))); } + // Now test that MIME types added via alter hook are present in the list + // returned by MimeTypeMapper::getMimeTypes. + $mime_type_mapper = $this->container->get('file.mime_type.mapper'); + $test_case = [ + 'madeup/file_test_1' => ['file_test_1'], + 'madeup/file_test_2' => ['file_test_2', 'file_test_3'], + 'madeup/doc' => ['doc'], + ]; + $expected = array_keys($test_case); + $this->assertIdentical($expected, array_intersect($expected, $mime_type_mapper->getMimeTypes())); + + // Now test the extensions returned by the MIME type mapper given + // a MIME type. + foreach ($test_case as $input => $expected) { + $extensions = $mime_type_mapper->getExtensionsForMimeType($input); + $this->assertIdentical($expected, $extensions); + } + + // Now test mapping removals. + $this->assertFalse($mime_type_mapper->removeMimeType('ready/made'), 'Unexisting MIME type not removed.'); + $this->assertTrue($mime_type_mapper->removeMimeType('madeup/file_test_1'), 'Existing MIME type removed.'); + $this->assertIdentical($mime_type_mapper->getExtensionsForMimeType('madeup/file_test_1'), [], 'No extensions mapped for removed MIME type.'); + $this->assertFalse($mime_type_mapper->removeMapping('readymade'), 'Unexisting extension not removed.'); + $this->assertTrue($mime_type_mapper->removeMapping('file_test_3'), 'Existing extension removed.'); + $this->assertIdentical($mime_type_mapper->getExtensionsForMimeType('madeup/file_test_2'), ['file_test_2'], 'Expected extensions mapped to MIME type after extension removal.'); + // Now test the extension gusser by passing in a custom mapping. $mapping = array( 'mimetypes' => array( @@ -85,37 +111,6 @@ public function testFileMimeTypeDetection() { $output = $extension_guesser->guess($input); $this->assertIdentical($output, $expected, format_string('Mimetype (using passed-in mappings) for %input is %output (expected: %expected).', array('%input' => $input, '%output' => $output, '%expected' => $expected))); } - - // Now test that MIME types added via alter hook or directly via - // MimeTypeMapper::addMapping are present in the list returned by - // MimeTypeMapper::getMimeTypes. - $mime_type_mapper = $this->container->get('file.mime_type.mapper'); - $test_case = [ - 'bar/foo' => ['jar'], - 'fox/trot' => ['jpg'], - 'image/jpeg' => ['jpe', 'jpeg'], - 'madeup/file_test_1' => ['file_test_1'], - 'madeup/file_test_2' => ['file_test_2', 'file_test_3'], - 'madeup/doc' => ['doc'], - 'drupal/info' => ['info.yml'], - ]; - $expected = array_keys($test_case); - $this->assertIdentical($expected, array_intersect($expected, $mime_type_mapper->getMimeTypes())); - - // Now test the extensions returned by the MIME type mapper given - // a MIME type. - foreach ($test_case as $input => $expected) { - $extensions = $mime_type_mapper->getExtensionsForMimeType($input); - $this->assertIdentical($expected, $extensions); - } - - // Now test mapping removals. - $this->assertFalse($mime_type_mapper->removeMimeType('ready/made'), 'Unexisting MIME type not removed.'); - $this->assertTrue($mime_type_mapper->removeMimeType('madeup/file_test_1'), 'Existing MIME type removed.'); - $this->assertIdentical($mime_type_mapper->getExtensionsForMimeType('madeup/file_test_1'), [], 'No extensions mapped for removed MIME type.'); - $this->assertFalse($mime_type_mapper->removeMapping('readymade'), 'Unexisting extension not removed.'); - $this->assertTrue($mime_type_mapper->removeMapping('file_test_3'), 'Existing extension removed.'); - $this->assertIdentical($mime_type_mapper->getExtensionsForMimeType('madeup/file_test_2'), ['file_test_2'], 'Expected extensions mapped to MIME type after extension removal.'); } }