From f3005ec653222850922a476497321b4eae57a4c0 Mon Sep 17 00:00:00 2001 From: "Paul L. McNeely" Date: Tue, 5 May 2020 16:16:48 -0500 Subject: [PATCH 1/2] Fix for #36715 --- src/Symfony/Component/Mime/MimeTypes.php | 2 +- src/Symfony/Component/Mime/Tests/MimeTypesTest.php | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Mime/MimeTypes.php b/src/Symfony/Component/Mime/MimeTypes.php index 268658d158..398e021482 100644 --- a/src/Symfony/Component/Mime/MimeTypes.php +++ b/src/Symfony/Component/Mime/MimeTypes.php @@ -51,7 +51,7 @@ final class MimeTypes implements MimeTypesInterface $this->extensions[$mimeType] = $extensions; foreach ($extensions as $extension) { - $this->mimeTypes[$extension] = $mimeType; + $this->mimeTypes[$extension][] = $mimeType; } } $this->registerGuesser(new FileBinaryMimeTypeGuesser()); diff --git a/src/Symfony/Component/Mime/Tests/MimeTypesTest.php b/src/Symfony/Component/Mime/Tests/MimeTypesTest.php index a736dbebba..b1387c9a5c 100644 --- a/src/Symfony/Component/Mime/Tests/MimeTypesTest.php +++ b/src/Symfony/Component/Mime/Tests/MimeTypesTest.php @@ -62,4 +62,15 @@ class MimeTypesTest extends AbstractMimeTypeGuesserTest $this->assertContains('image/svg', $mt->getMimeTypes('svg')); $this->assertSame([], $mt->getMimeTypes('symfony')); } + + public function testCustomMimeTypes() + { + $mt = new MimeTypes([ + 'text/bar' => ['foo'], + 'text/baz' => ['foo', 'moof'], + ]); + $this->assertContains('text/bar', $mt->getMimeTypes('foo')); + $this->assertContains('text/baz', $mt->getMimeTypes('foo')); + $this->assertSame(['foo', 'moof'], $mt->getExtensions('text/baz')); + } } From 4ab6ff37bdb1ea805a3c2ee73bfecd5849a67933 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Sat, 9 May 2020 17:46:49 +0200 Subject: [PATCH 2/2] [HttpClient] improve testTimeoutIsNotAFatalError --- .../HttpClient/Tests/HttpClientTestCase.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/Symfony/Component/HttpClient/Tests/HttpClientTestCase.php b/src/Symfony/Component/HttpClient/Tests/HttpClientTestCase.php index 89745e4555..f669de5ac4 100644 --- a/src/Symfony/Component/HttpClient/Tests/HttpClientTestCase.php +++ b/src/Symfony/Component/HttpClient/Tests/HttpClientTestCase.php @@ -97,7 +97,7 @@ abstract class HttpClientTestCase extends BaseHttpClientTestCase { $client = $this->getHttpClient(__FUNCTION__); $response = $client->request('GET', 'http://localhost:8057/timeout-body', [ - 'timeout' => 0.1, + 'timeout' => 0.3, ]); try { @@ -106,7 +106,16 @@ abstract class HttpClientTestCase extends BaseHttpClientTestCase } catch (TransportException $e) { } - usleep(400000); - $this->assertSame('<1><2>', $response->getContent()); + for ($i = 0; $i < 10; ++$i) { + try { + $this->assertSame('<1><2>', $response->getContent()); + break; + } catch (TransportException $e) { + } + } + + if (10 === $i) { + throw $e; + } } }