Skip to content

Commit 398e949

Browse files
committed
Switch to PHP config
1 parent 6e21e1c commit 398e949

File tree

4 files changed

+33
-31
lines changed

4 files changed

+33
-31
lines changed

.php-cs-fixer.dist.php

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
->setRiskyAllowed(true)
3535
->setFinder(
3636
PhpCsFixer\Finder::create()
37+
->in(__DIR__ . '/config')
3738
->in(__DIR__ . '/features')
3839
->in(__DIR__ . '/src')
3940
->in(__DIR__ . '/tests')

config/services.php

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
/**
3+
* Behat Code Coverage
4+
*/
5+
declare(strict_types=1);
6+
7+
use SebastianBergmann\CodeCoverage\CodeCoverage;
8+
use SebastianBergmann\CodeCoverage\Filter;
9+
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
10+
11+
return static function (ContainerConfigurator $containerConfigurator): void {
12+
$services = $containerConfigurator->services();
13+
14+
$services->defaults()
15+
->bind('$reportConfig', '%behat.code_coverage.config.reports%')
16+
->autowire()
17+
->autoconfigure()
18+
->private();
19+
20+
$services->load('DVDoug\\Behat\\CodeCoverage\\', __DIR__ . '/../src');
21+
22+
// Register underlying services used from dependencies
23+
$services->set(CodeCoverage::class);
24+
$services->set(Filter::class);
25+
};

src/Extension.php

+7-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66

77
namespace DVDoug\Behat\CodeCoverage;
88

9+
use Behat\Testwork\Cli\Controller;
910
use Behat\Testwork\Cli\ServiceContainer\CliExtension;
11+
use Behat\Testwork\EventDispatcher\ServiceContainer\EventDispatcherExtension;
1012
use Behat\Testwork\ServiceContainer\Extension as ExtensionInterface;
1113
use Behat\Testwork\ServiceContainer\ExtensionManager;
1214
use Composer\InstalledVersions;
@@ -27,7 +29,7 @@
2729
use Symfony\Component\Console\Input\InputInterface;
2830
use Symfony\Component\Console\Output\OutputInterface;
2931
use Symfony\Component\DependencyInjection\ContainerBuilder;
30-
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
32+
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
3133
use Symfony\Component\DependencyInjection\Reference;
3234

3335
use function sprintf;
@@ -47,10 +49,11 @@ public function initialize(ExtensionManager $extensionManager): void
4749
*/
4850
public function load(ContainerBuilder $container, array $config): void
4951
{
50-
$loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/Resources/config'));
52+
$container->registerForAutoconfiguration(Controller::class)->addTag(CliExtension::CONTROLLER_TAG);
53+
$container->registerForAutoconfiguration(EventSubscriber::class)->addTag(EventDispatcherExtension::SUBSCRIBER_TAG);
5154

52-
$servicesFile = 'services.xml';
53-
$loader->load($servicesFile);
55+
$loader = new PhpFileLoader($container, new FileLocator(__DIR__ . '/../config'));
56+
$loader->load('services.php');
5457

5558
$container->setParameter('behat.code_coverage.config.filter', $config['filter']);
5659
$container->setParameter('behat.code_coverage.config.branchAndPathCoverage', $config['branchAndPathCoverage']);

src/Resources/config/services.xml

-27
This file was deleted.

0 commit comments

Comments
 (0)