minor #37209 [DI][Framework] Use PHP instead of XML for test config (GaryPEGEOT)
This PR was squashed before being merged into the 5.2-dev branch.
Discussion
----------
[DI][Framework] Use PHP instead of XML for test config
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | Partially #37186
| License | MIT
See #37186
Commits
-------
36cc98228e
[DI][Framework] Use PHP instead of XML for test config
This commit is contained in:
commit
3f20e65019
@ -259,7 +259,7 @@ class FrameworkExtension extends Extension
|
||||
}
|
||||
|
||||
if (!empty($config['test'])) {
|
||||
$loader->load('test.xml');
|
||||
$phpLoader->load('test.php');
|
||||
|
||||
if (!class_exists(AbstractBrowser::class)) {
|
||||
$container->removeDefinition('test.client');
|
||||
|
57
src/Symfony/Bundle/FrameworkBundle/Resources/config/test.php
Normal file
57
src/Symfony/Bundle/FrameworkBundle/Resources/config/test.php
Normal file
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\KernelBrowser;
|
||||
use Symfony\Bundle\FrameworkBundle\Test\TestContainer;
|
||||
use Symfony\Component\BrowserKit\CookieJar;
|
||||
use Symfony\Component\BrowserKit\History;
|
||||
use Symfony\Component\DependencyInjection\ServiceLocator;
|
||||
use Symfony\Component\HttpKernel\EventListener\TestSessionListener;
|
||||
|
||||
return static function (ContainerConfigurator $container) {
|
||||
$container->parameters()->set('test.client.parameters', []);
|
||||
|
||||
$container->services()
|
||||
->set('test.client', KernelBrowser::class)
|
||||
->args([
|
||||
service('kernel'),
|
||||
param('test.client.parameters'),
|
||||
service('test.client.history'),
|
||||
service('test.client.cookiejar'),
|
||||
])
|
||||
->share(false)
|
||||
->public()
|
||||
|
||||
->set('test.client.history', History::class)->share(false)
|
||||
->set('test.client.cookiejar', CookieJar::class)->share(false)
|
||||
|
||||
->set('test.session.listener', TestSessionListener::class)
|
||||
->args([
|
||||
service_locator([
|
||||
'session' => service('session')->ignoreOnInvalid(),
|
||||
]),
|
||||
])
|
||||
->tag('kernel.event_subscriber')
|
||||
|
||||
->set('test.service_container', TestContainer::class)
|
||||
->args([
|
||||
service('kernel'),
|
||||
'test.private_services_locator',
|
||||
])
|
||||
->public()
|
||||
|
||||
->set('test.private_services_locator', ServiceLocator::class)
|
||||
->args([abstract_arg('callable collection')])
|
||||
->public()
|
||||
;
|
||||
};
|
@ -1,41 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<parameters>
|
||||
<parameter key="test.client.parameters" type="collection"></parameter>
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
<defaults public="false" />
|
||||
|
||||
<service id="test.client" class="Symfony\Bundle\FrameworkBundle\KernelBrowser" shared="false" public="true">
|
||||
<argument type="service" id="kernel" />
|
||||
<argument>%test.client.parameters%</argument>
|
||||
<argument type="service" id="test.client.history" />
|
||||
<argument type="service" id="test.client.cookiejar" />
|
||||
</service>
|
||||
|
||||
<service id="test.client.history" class="Symfony\Component\BrowserKit\History" shared="false" />
|
||||
|
||||
<service id="test.client.cookiejar" class="Symfony\Component\BrowserKit\CookieJar" shared="false" />
|
||||
|
||||
<service id="test.session.listener" class="Symfony\Component\HttpKernel\EventListener\TestSessionListener">
|
||||
<tag name="kernel.event_subscriber" />
|
||||
<argument type="service_locator">
|
||||
<argument key="session" type="service" id="session" on-invalid="ignore" />
|
||||
</argument>
|
||||
</service>
|
||||
|
||||
<service id="test.service_container" class="Symfony\Bundle\FrameworkBundle\Test\TestContainer" public="true">
|
||||
<argument type="service" id="kernel" />
|
||||
<argument>test.private_services_locator</argument>
|
||||
</service>
|
||||
|
||||
<service id="test.private_services_locator" class="Symfony\Component\DependencyInjection\ServiceLocator" public="true">
|
||||
<argument type="collection" />
|
||||
</service>
|
||||
</services>
|
||||
</container>
|
Reference in New Issue
Block a user