minor #53 Clean up the bundle's extension (pamil)

This PR was merged into the 2.0-dev branch.

Discussion
----------



Commits
-------

3e1da228d0 Clean up the bundle's extension
This commit is contained in:
Kamil Kokot
2019-01-21 15:35:38 +01:00
committed by GitHub

View File

@@ -18,22 +18,19 @@ final class FriendsOfBehatSymfonyExtensionExtension extends Extension implements
{
public function load(array $configs, ContainerBuilder $container): void
{
$this->registerBehatContainer($container);
$this->provideMinkIntegration($container);
$this->registerBehatContainer($container);
$container
->registerForAutoconfiguration(Context::class)
->addTag('fob.context')
->setBindings([
'$minkParameters' => new Reference('behat.mink.parameters'),
])
;
$container->registerForAutoconfiguration(Context::class)->addTag('fob.context');
}
public function process(ContainerBuilder $container): void
{
foreach ($container->findTaggedServiceIds('fob.context') as $serviceId => $attributes) {
$container->findDefinition($serviceId)->setPublic(true);
$serviceDefinition = $container->findDefinition($serviceId);
$serviceDefinition->setPublic(true);
$serviceDefinition->clearTag('fob.context');
}
}
@@ -47,6 +44,18 @@ final class FriendsOfBehatSymfonyExtensionExtension extends Extension implements
}
private function provideMinkIntegration(ContainerBuilder $container): void
{
$this->registerMinkDefaultSession($container);
$this->registerMinkParameters($container);
$autoconfiguredContextPrototype = $container->registerForAutoconfiguration(Context::class);
$autoconfiguredContextPrototype->setBindings(array_merge(
$autoconfiguredContextPrototype->getBindings(),
['$minkParameters' => new Reference('behat.mink.parameters')]
));
}
private function registerMinkDefaultSession(ContainerBuilder $container): void
{
$minkDefaultSessionDefinition = new Definition(Session::class, ['fob_symfony.mink.default_session']);
$minkDefaultSessionDefinition->setPublic(true);
@@ -55,7 +64,10 @@ final class FriendsOfBehatSymfonyExtensionExtension extends Extension implements
$container->setDefinition('behat.mink.default_session', $minkDefaultSessionDefinition);
$container->setAlias(Session::class, 'behat.mink.default_session');
}
private function registerMinkParameters(ContainerBuilder $container): void
{
$minkParametersDefinition = new Definition(MinkParameters::class, ['fob_symfony.mink.parameters']);
$minkParametersDefinition->setPublic(true);
$minkParametersDefinition->setLazy(true);