Skip to content

Commit f77fc5e

Browse files
committed
Add PHP 8.4 build, run tests with Symfony 7.3 and 7.4, add Symfony 8.0 support
1 parent a8fc681 commit f77fc5e

9 files changed

+38
-81
lines changed

.github/workflows/ci.yaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,26 @@ jobs:
1414
- '8.1'
1515
- '8.2'
1616
- '8.3'
17+
- '8.4'
1718
dependency:
1819
- ''
1920
symfony:
2021
- '5.4.*'
2122
- '6.4.*'
22-
- '7.0.*'
23+
- '7.3.*'
2324
include:
2425
- php: '8.1'
2526
symfony: '5.4.*'
2627
dependency: 'lowest'
28+
- php: '8.4'
29+
symfony: '7.4.*@dev'
30+
dependency: ''
31+
- php: '8.4'
32+
symfony: '8.0.*@dev'
33+
dependency: ''
2734
exclude:
2835
- php: '8.1'
29-
symfony: '7.0.*'
36+
symfony: '7.3.*'
3037
fail-fast: false
3138
steps:
3239
- name: Checkout

PhpUnit/AbstractCompilerPassTestCase.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace Matthias\SymfonyDependencyInjectionTest\PhpUnit;
44

5-
use PHPUnit\Framework\Attributes\CoversNothing;
65
use PHPUnit\Framework\Attributes\Test;
76
use Symfony\Component\DependencyInjection\ContainerBuilder;
87

@@ -20,7 +19,6 @@ abstract protected function registerCompilerPass(ContainerBuilder $container): v
2019
* This test will run the compile method.
2120
*/
2221
#[Test]
23-
#[CoversNothing]
2422
final public function compilation_should_not_fail_with_empty_container(): void
2523
{
2624
try {

Tests/Fixtures/DependableExtension.php

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,19 @@
33
namespace Matthias\SymfonyDependencyInjectionTest\Tests\Fixtures;
44

55
use Symfony\Component\DependencyInjection\ContainerBuilder;
6-
use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
6+
use Symfony\Component\DependencyInjection\Extension\Extension;
77

8-
class DependableExtension implements ExtensionInterface
8+
class DependableExtension extends Extension
99
{
10-
public function load(array $config, ContainerBuilder $container): void
10+
public function load(array $configs, ContainerBuilder $container): void
1111
{
1212
if ($container->hasParameter('parameter_from_non_dependable')) {
1313
$container->setParameter('dependable_parameter', 'dependable value');
1414
}
1515
}
1616

17-
public function getAlias()
17+
public function getAlias(): string
1818
{
1919
return 'dependable';
2020
}
21-
22-
public function getNamespace(): void
23-
{
24-
}
25-
26-
public function getXsdValidationBasePath(): void
27-
{
28-
}
2921
}

Tests/Fixtures/MatthiasDependencyInjectionTestExtension.php

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
use Symfony\Component\Config\FileLocator;
66
use Symfony\Component\DependencyInjection\ContainerBuilder;
77
use Symfony\Component\DependencyInjection\Definition;
8-
use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
8+
use Symfony\Component\DependencyInjection\Extension\Extension;
99
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
1010
use Symfony\Component\DependencyInjection\Reference;
1111

12-
class MatthiasDependencyInjectionTestExtension implements ExtensionInterface
12+
class MatthiasDependencyInjectionTestExtension extends Extension
1313
{
14-
public function load(array $config, ContainerBuilder $container): void
14+
public function load(array $configs, ContainerBuilder $container): void
1515
{
1616
// load some service definitions
1717
$loader = new XmlFileLoader($container, new FileLocator(__DIR__));
@@ -41,16 +41,8 @@ public function load(array $config, ContainerBuilder $container): void
4141
$container->setDefinition('manual_with_reference', $definition);
4242
}
4343

44-
public function getAlias()
44+
public function getAlias(): string
4545
{
4646
return 'matthias_dependency_injection_test';
4747
}
48-
49-
public function getNamespace(): void
50-
{
51-
}
52-
53-
public function getXsdValidationBasePath(): void
54-
{
55-
}
5648
}

Tests/Fixtures/NonDependablePrependableExtension.php

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,21 @@
33
namespace Matthias\SymfonyDependencyInjectionTest\Tests\Fixtures;
44

55
use Symfony\Component\DependencyInjection\ContainerBuilder;
6-
use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
6+
use Symfony\Component\DependencyInjection\Extension\Extension;
77
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
88

9-
class NonDependablePrependableExtension implements ExtensionInterface, PrependExtensionInterface
9+
class NonDependablePrependableExtension extends Extension implements PrependExtensionInterface
1010
{
11-
public function load(array $config, ContainerBuilder $container): void
11+
public function load(array $configs, ContainerBuilder $container): void
1212
{
1313
}
1414

15-
public function getAlias()
15+
public function getAlias(): string
1616
{
1717
return 'non_dependable';
1818
}
1919

20-
public function getNamespace(): void
21-
{
22-
}
23-
24-
public function getXsdValidationBasePath(): void
25-
{
26-
}
27-
28-
public function prepend(ContainerBuilder $container)
20+
public function prepend(ContainerBuilder $container): void
2921
{
3022
$container->setParameter('parameter_from_non_dependable', 'non-dependable value');
3123
}

Tests/Fixtures/NonPrependableTestExtension.php

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,21 @@
33
namespace Matthias\SymfonyDependencyInjectionTest\Tests\Fixtures;
44

55
use Symfony\Component\DependencyInjection\ContainerBuilder;
6-
use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
6+
use Symfony\Component\DependencyInjection\Extension\Extension;
77

8-
class NonPrependableTestExtension implements ExtensionInterface
8+
class NonPrependableTestExtension extends Extension
99
{
1010
public function prepend(ContainerBuilder $container): void
1111
{
1212
$container->setParameter('ignored_invocation', 'ignored value');
1313
}
1414

15-
public function load(array $config, ContainerBuilder $container): void
15+
public function load(array $configs, ContainerBuilder $container): void
1616
{
1717
}
1818

19-
public function getAlias()
19+
public function getAlias(): string
2020
{
2121
return 'non_prependable_test';
2222
}
23-
24-
public function getNamespace(): void
25-
{
26-
}
27-
28-
public function getXsdValidationBasePath(): void
29-
{
30-
}
3123
}

Tests/Fixtures/PrependableTestExtension.php

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,22 @@
33
namespace Matthias\SymfonyDependencyInjectionTest\Tests\Fixtures;
44

55
use Symfony\Component\DependencyInjection\ContainerBuilder;
6-
use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
6+
use Symfony\Component\DependencyInjection\Extension\Extension;
77
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
88

9-
class PrependableTestExtension implements ExtensionInterface, PrependExtensionInterface
9+
class PrependableTestExtension extends Extension implements PrependExtensionInterface
1010
{
1111
public function prepend(ContainerBuilder $container): void
1212
{
1313
$container->setParameter('prepend_parameter_set', 'prepended value');
1414
}
1515

16-
public function load(array $config, ContainerBuilder $container): void
16+
public function load(array $configs, ContainerBuilder $container): void
1717
{
1818
}
1919

20-
public function getAlias()
20+
public function getAlias(): string
2121
{
2222
return 'prependable_test';
2323
}
24-
25-
public function getNamespace(): void
26-
{
27-
}
28-
29-
public function getXsdValidationBasePath(): void
30-
{
31-
}
3224
}

Tests/Fixtures/SimpleExtension.php

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,16 @@
33
namespace Matthias\SymfonyDependencyInjectionTest\Tests\Fixtures;
44

55
use Symfony\Component\DependencyInjection\ContainerBuilder;
6-
use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
6+
use Symfony\Component\DependencyInjection\Extension\Extension;
77

8-
class SimpleExtension implements ExtensionInterface
8+
class SimpleExtension extends Extension
99
{
10-
public function load(array $config, ContainerBuilder $container): void
10+
public function load(array $configs, ContainerBuilder $container): void
1111
{
1212
}
1313

14-
public function getAlias()
14+
public function getAlias(): string
1515
{
1616
return 'simple';
1717
}
18-
19-
public function getNamespace(): void
20-
{
21-
}
22-
23-
public function getXsdValidationBasePath(): void
24-
{
25-
}
2618
}

composer.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
"matthiasnoback/symfony-config-test": "^5.0 || ^6.0",
1818
"phpunit/phpunit": "^10.5.11 || ^11.0 || ^12.0",
1919
"sebastian/exporter": " ^5.0 || ^6.0 || ^7.0",
20-
"symfony/dependency-injection": "^5.4 || ^6.2 || ^7.0",
21-
"symfony/config": "^5.4 || ^6.2 || ^7.0",
22-
"symfony/yaml": "^5.4 || ^6.2 || ^7.0"
20+
"symfony/dependency-injection": "^5.4 || ^6.4 || ^7.0 || ^8.0",
21+
"symfony/config": "^5.4 || ^6.4 || ^7.0 || ^8.0",
22+
"symfony/yaml": "^5.4 || ^6.4 || ^7.0 || ^8.0"
2323
},
2424
"autoload": {
2525
"psr-4" : { "Matthias\\SymfonyDependencyInjectionTest\\" : "" },
@@ -30,7 +30,7 @@
3030
},
3131
"extra": {
3232
"branch-alias": {
33-
"dev-master": "5.0.x-dev"
33+
"dev-master": "6.x-dev"
3434
}
3535
},
3636
"minimum-stability": "dev",

0 commit comments

Comments
 (0)