Merge branch '4.4' into 5.0

* 4.4:
  [HttpClient] improve testTimeoutIsNotAFatalError
  Fix for #36715
This commit is contained in:
Nicolas Grekas 2020-05-09 17:57:42 +02:00
commit c794cab0cb
3 changed files with 24 additions and 4 deletions

View File

@ -97,7 +97,7 @@ abstract class HttpClientTestCase extends BaseHttpClientTestCase
{ {
$client = $this->getHttpClient(__FUNCTION__); $client = $this->getHttpClient(__FUNCTION__);
$response = $client->request('GET', 'http://localhost:8057/timeout-body', [ $response = $client->request('GET', 'http://localhost:8057/timeout-body', [
'timeout' => 0.1, 'timeout' => 0.3,
]); ]);
try { try {
@ -106,7 +106,16 @@ abstract class HttpClientTestCase extends BaseHttpClientTestCase
} catch (TransportException $e) { } catch (TransportException $e) {
} }
usleep(400000); for ($i = 0; $i < 10; ++$i) {
$this->assertSame('<1><2>', $response->getContent()); try {
$this->assertSame('<1><2>', $response->getContent());
break;
} catch (TransportException $e) {
}
}
if (10 === $i) {
throw $e;
}
} }
} }

View File

@ -51,7 +51,7 @@ final class MimeTypes implements MimeTypesInterface
$this->extensions[$mimeType] = $extensions; $this->extensions[$mimeType] = $extensions;
foreach ($extensions as $extension) { foreach ($extensions as $extension) {
$this->mimeTypes[$extension] = $mimeType; $this->mimeTypes[$extension][] = $mimeType;
} }
} }
$this->registerGuesser(new FileBinaryMimeTypeGuesser()); $this->registerGuesser(new FileBinaryMimeTypeGuesser());

View File

@ -62,4 +62,15 @@ class MimeTypesTest extends AbstractMimeTypeGuesserTest
$this->assertContains('image/svg', $mt->getMimeTypes('svg')); $this->assertContains('image/svg', $mt->getMimeTypes('svg'));
$this->assertSame([], $mt->getMimeTypes('symfony')); $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'));
}
} }