function MimeTypePassTest::testProcessLegacy
Tests backwards compatibility shim for MimeTypeGuesser interface changes.
File
-
core/
tests/ Drupal/ Tests/ Core/ DependencyInjection/ Compiler/ MimeTypePassTest.php, line 29
Class
- MimeTypePassTest
- @coversDefaultClass \Drupal\Core\DependencyInjection\Compiler\MimeTypePass[[api-linebreak]] @group DependencyInjection @group legacy @runInSeparateProcess
Namespace
Drupal\Tests\Core\DependencyInjection\CompilerCode
public function testProcessLegacy() {
$this->expectDeprecation('The "Drupal\\Tests\\Core\\DependencyInjection\\Compiler\\LegacyMimeTypeGuesser" class implements "Symfony\\Component\\HttpFoundation\\File\\MimeType\\MimeTypeGuesserInterface" that is deprecated since Symfony 4.3, use {@link MimeTypesInterface} instead.');
$container = $this->buildContainer();
$container->register('file.mime_type.guesser', MimeTypeGuesser::class);
$container->register('handler1', __NAMESPACE__ . '\\NewMimeTypeGuesser')
->addTag('mime_type_guesser', [
'priority' => 200,
]);
$container->register('handler2', __NAMESPACE__ . '\\LegacyMimeTypeGuesser')
->addTag('mime_type_guesser', [
'priority' => 100,
]);
$handler_pass = new MimeTypePass();
$handler_pass->process($container);
$method_calls = $container->getDefinition('file.mime_type.guesser')
->getMethodCalls();
$this->assertCount(2, $method_calls);
$this->assertSame(200, $method_calls[0][1][1]);
$this->assertSame(100, $method_calls[1][1][1]);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.