Skip to content

Commit 3e40beb

Browse files
committed
[Validation][FrameworkBundle] Allow EnableAutoMapping to work without auto-mapping namespaces
1 parent 08cf3d3 commit 3e40beb

File tree

2 files changed

+5
-12
lines changed

2 files changed

+5
-12
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ CHANGELOG
44
4.4.0
55
-----
66

7+
* [BC BREAK] using null as `$classValidatorRegexp` value in `DoctrineLoader::__construct` will not enable auto-mapping for all classes anymore, use `'{.*}'` instead.
78
* added `DoctrineClearEntityManagerWorkerSubscriber`
89
* deprecated `RegistryInterface`, use `Doctrine\Persistence\ManagerRegistry`
910
* added support for invokable event listeners

Tests/Validator/DoctrineLoaderTest.php

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
use Symfony\Component\Validator\Mapping\TraversalStrategy;
3131
use Symfony\Component\Validator\Tests\Fixtures\Entity;
3232
use Symfony\Component\Validator\Validation;
33-
use Symfony\Component\Validator\ValidatorBuilder;
3433

3534
/**
3635
* @author Kévin Dunglas <[email protected]>
@@ -152,10 +151,6 @@ public function testLoadClassMetadata()
152151

153152
public function testFieldMappingsConfiguration()
154153
{
155-
if (!method_exists(ValidatorBuilder::class, 'addLoader')) {
156-
$this->markTestSkipped('Auto-mapping requires symfony/validation 4.2+');
157-
}
158-
159154
$validator = Validation::createValidatorBuilder()
160155
->addMethodMapping('loadValidatorMetadata')
161156
->enableAnnotationMapping()
@@ -180,7 +175,7 @@ public function testFieldMappingsConfiguration()
180175
*/
181176
public function testClassValidator(bool $expected, string $classValidatorRegexp = null)
182177
{
183-
$doctrineLoader = new DoctrineLoader(DoctrineTestHelper::createTestEntityManager(), $classValidatorRegexp);
178+
$doctrineLoader = new DoctrineLoader(DoctrineTestHelper::createTestEntityManager(), $classValidatorRegexp, false);
184179

185180
$classMetadata = new ClassMetadata(DoctrineLoaderEntity::class);
186181
$this->assertSame($expected, $doctrineLoader->loadClassMetadata($classMetadata));
@@ -189,21 +184,18 @@ public function testClassValidator(bool $expected, string $classValidatorRegexp
189184
public function regexpProvider()
190185
{
191186
return [
192-
[true, null],
187+
[false, null],
188+
[true, '{.*}'],
193189
[true, '{^'.preg_quote(DoctrineLoaderEntity::class).'$|^'.preg_quote(Entity::class).'$}'],
194190
[false, '{^'.preg_quote(Entity::class).'$}'],
195191
];
196192
}
197193

198194
public function testClassNoAutoMapping()
199195
{
200-
if (!method_exists(ValidatorBuilder::class, 'addLoader')) {
201-
$this->markTestSkipped('Auto-mapping requires symfony/validation 4.2+');
202-
}
203-
204196
$validator = Validation::createValidatorBuilder()
205197
->enableAnnotationMapping()
206-
->addLoader(new DoctrineLoader(DoctrineTestHelper::createTestEntityManager()))
198+
->addLoader(new DoctrineLoader(DoctrineTestHelper::createTestEntityManager(), '{.*}'))
207199
->getValidator();
208200

209201
$classMetadata = $validator->getMetadataFor(new DoctrineLoaderNoAutoMappingEntity());

0 commit comments

Comments
 (0)