Add default mapping path for validator component

This commit is contained in:
Yonel Ceruto 2017-11-07 07:03:09 -05:00
parent b2edd51177
commit 4e0daecc63
3 changed files with 13 additions and 4 deletions

View File

@ -1290,6 +1290,11 @@ class FrameworkExtension extends Extension
}
}
$projectDir = $container->getParameter('kernel.project_dir');
if ($container->fileExists($dir = $projectDir.'/config/validator', '/^$/')) {
$this->registerMappingFilesFromDir($dir, $fileRecorder);
}
$this->registerMappingFilesFromConfig($container, $config, $fileRecorder);
}

View File

@ -543,9 +543,13 @@ abstract class FrameworkExtensionTest extends TestCase
public function testValidation()
{
$container = $this->createContainerFromFile('full');
$projectDir = $container->getParameter('kernel.project_dir');
$ref = new \ReflectionClass('Symfony\Component\Form\Form');
$xmlMappings = array(dirname($ref->getFileName()).'/Resources/config/validation.xml');
$xmlMappings = array(
dirname($ref->getFileName()).'/Resources/config/validation.xml',
strtr($projectDir.'/config/validator/foo.xml', '/', DIRECTORY_SEPARATOR),
);
$calls = $container->getDefinition('validator.builder')->getMethodCalls();
@ -633,7 +637,7 @@ abstract class FrameworkExtensionTest extends TestCase
$this->assertEquals(array(new Reference('validator.mapping.cache.symfony')), $calls[7][1]);
$xmlMappings = $calls[3][1][0];
$this->assertCount(2, $xmlMappings);
$this->assertCount(3, $xmlMappings);
try {
// Testing symfony/symfony
$this->assertStringEndsWith('Component'.DIRECTORY_SEPARATOR.'Form/Resources/config/validation.xml', $xmlMappings[0]);
@ -659,7 +663,7 @@ abstract class FrameworkExtensionTest extends TestCase
$calls = $container->getDefinition('validator.builder')->getMethodCalls();
$xmlMappings = $calls[3][1][0];
$this->assertCount(2, $xmlMappings);
$this->assertCount(3, $xmlMappings);
try {
// Testing symfony/symfony
@ -701,7 +705,7 @@ abstract class FrameworkExtensionTest extends TestCase
$calls = $container->getDefinition('validator.builder')->getMethodCalls();
$this->assertSame('addXmlMappings', $calls[3][0]);
$this->assertCount(2, $calls[3][1][0]);
$this->assertCount(3, $calls[3][1][0]);
$this->assertSame('addYamlMappings', $calls[4][0]);
$this->assertCount(3, $calls[4][1][0]);