Unverified Commit f96fff0d authored by Alex Pott's avatar Alex Pott
Browse files

Issue #3466462 by mfb, chandansha, kim.pepper, charlliequadros, smustgrave,...

Issue #3466462 by mfb, chandansha, kim.pepper, charlliequadros, smustgrave, mxr576, quietone, morvaim, larowlan: Fix handling of unknown file extensions in FileMediaFormatterBase

(cherry picked from commit ec3fedad)
parent 2e879e5a
Loading
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ public static function isApplicable(FieldDefinitionInterface $field_definition)

    foreach ($extension_list as $extension) {
      $mime_type = $extension_mime_type_guesser->guessMimeType('fakedFile.' . $extension);
      if (static::mimeTypeApplies($mime_type)) {
      if ($mime_type !== NULL && static::mimeTypeApplies($mime_type)) {
        return TRUE;
      }
    }
@@ -192,11 +192,12 @@ protected function getSourceFiles(EntityReferenceFieldItemListInterface $items,
    // grouping in case the multiple file behavior is not 'tags'.
    /** @var \Drupal\file\Entity\File $file */
    foreach ($this->getEntitiesToView($items, $langcode) as $file) {
      if (static::mimeTypeApplies($file->getMimeType())) {
      $mime_type = $file->getMimeType();
      if ($mime_type !== NULL && static::mimeTypeApplies($mime_type)) {
        $source_attributes = new Attribute();
        $source_attributes
          ->setAttribute('src', $file->createFileUrl())
          ->setAttribute('type', $file->getMimeType());
          ->setAttribute('type', $mime_type);
        if ($this->getSetting('multiple_file_display_type') === 'tags') {
          $source_files[] = [
            [
+2 −1
Original line number Diff line number Diff line
@@ -24,7 +24,8 @@ class FileAudioFormatterTest extends FileMediaFormatterTestBase {
   * @dataProvider dataProvider
   */
  public function testRender($tag_count, $formatter_settings): void {
    $field_config = $this->createMediaField('file_audio', 'mp3', $formatter_settings);
    // Create a file field that accepts .mp3 and an unknown file extension.
    $field_config = $this->createMediaField('file_audio', 'unknown-extension, mp3', $formatter_settings);

    file_put_contents('public://file.mp3', str_repeat('t', 10));
    $file1 = File::create([