Skip to content

Commit b8a1194

Browse files
committed
Fix for #36715
1 parent 5c24718 commit b8a1194

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

src/Symfony/Component/Mime/MimeTypes.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,11 @@ final class MimeTypes implements MimeTypesInterface
4848
public function __construct(array $map = [])
4949
{
5050
foreach ($map as $mimeType => $extensions) {
51-
$this->extensions[$mimeType] = $extensions;
51+
$this->extensions[$mimeType] = is_string($extensions) ? [$extensions] : $extensions;
5252

5353
foreach ($extensions as $extension) {
54-
$this->mimeTypes[$extension] = $mimeType;
54+
$this->mimeTypes[$extension] = $this->mimeTypes[$extension] ?? [];
55+
array_push($this->mimeTypes[$extension], $mimeType);
5556
}
5657
}
5758
$this->registerGuesser(new FileBinaryMimeTypeGuesser());

src/Symfony/Component/Mime/Tests/MimeTypesTest.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,16 @@ public function testGetMimeTypes()
6262
$this->assertContains('image/svg', $mt->getMimeTypes('svg'));
6363
$this->assertSame([], $mt->getMimeTypes('symfony'));
6464
}
65+
66+
67+
public function testCustomMimeTypes()
68+
{
69+
$mt = new MimeTypes([
70+
'text/bar' => "foo",
71+
'text/baz' => ["foo", "moof"]
72+
]);
73+
$this->assertContains('text/bar', $mt->getMimeTypes('foo'));
74+
$this->assertContains('text/baz', $mt->getMimeTypes('foo'));
75+
$this->assertSame(["foo", "moof"], $mt->getExtensions('text/baz'));
76+
}
6577
}

0 commit comments

Comments
 (0)