Skip to content

Commit 16b9240

Browse files
committed
Allow passing definitions to the ContainerRegistry
This makes it slightly easier to define custom definitions to the container before creating it.
1 parent 140bd36 commit 16b9240

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

src/ContainerRegistry.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,10 @@ final class ContainerRegistry
4848
{
4949
private static ContainerInterface|null $container = null;
5050

51-
public static function createContainer(): Container
51+
/** @param array<string, mixed> $definitions */
52+
public static function createContainer(array $definitions = []): Container
5253
{
53-
return new Container([
54+
return new Container($definitions + [
5455
Transformer::class => create(Prefix::class),
5556
TemplateResolver::class => create(TemplateResolver::class),
5657
TranslatorInterface::class => autowire(BypassTranslator::class),

tests/unit/ContainerRegistryTest.php

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
namespace Respect\Validation;
1212

1313
use PHPUnit\Framework\Attributes\CoversClass;
14-
use PHPUnit\Framework\Attributes\DoesNotPerformAssertions;
1514
use PHPUnit\Framework\Attributes\Group;
1615
use PHPUnit\Framework\Attributes\Test;
1716
use Respect\Validation\Test\TestCase;
@@ -21,11 +20,19 @@
2120
final class ContainerRegistryTest extends TestCase
2221
{
2322
#[Test]
24-
#[DoesNotPerformAssertions]
25-
public function itTheCreatedContainerShouldBeAbleToProvideAnInstanceOfValidator(): void
23+
public function itShouldBeAbleToProvideAnInstanceOfValidator(): void
2624
{
2725
$container = ContainerRegistry::createContainer();
28-
$container->get(ValidatorBuilder::class);
26+
27+
self::assertNotNull($container->get(ValidatorBuilder::class));
28+
}
29+
30+
#[Test]
31+
public function itShouldBeAbleToGiveDefinitionsToTheContainer(): void
32+
{
33+
$container = ContainerRegistry::createContainer(['foo' => 'bar']);
34+
35+
self::assertSame('bar', $container->get('foo'));
2936
}
3037

3138
#[Test]

0 commit comments

Comments
 (0)