Skip to content

Commit dd92e42

Browse files
committed
Merge branch '6.4' into 7.2
* 6.4: properly skip signal test if the pcntl extension is not installed ensure that all supported e-mail validation modes can be configured [Security][LoginLink] Throw InvalidLoginLinkException on invalid parameters don't hardcode OS-depending constant values
2 parents c1c6ee8 + e14c287 commit dd92e42

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

DependencyInjection/Configuration.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
use Symfony\Component\Translation\Translator;
4747
use Symfony\Component\TypeInfo\Type;
4848
use Symfony\Component\Uid\Factory\UuidFactory;
49+
use Symfony\Component\Validator\Constraints\Email;
4950
use Symfony\Component\Validator\Validation;
5051
use Symfony\Component\Webhook\Controller\WebhookController;
5152
use Symfony\Component\WebLink\HttpHeaderSerializer;
@@ -1018,7 +1019,7 @@ private function addValidationSection(ArrayNodeDefinition $rootNode, callable $e
10181019
->validate()->castToArray()->end()
10191020
->end()
10201021
->scalarNode('translation_domain')->defaultValue('validators')->end()
1021-
->enumNode('email_validation_mode')->values(['html5', 'loose', 'strict'])->defaultValue('html5')->end()
1022+
->enumNode('email_validation_mode')->values(Email::VALIDATION_MODES + ['loose'])->defaultValue('html5')->end()
10221023
->arrayNode('mapping')
10231024
->addDefaultsIfNotSet()
10241025
->fixXmlConfig('path')

Tests/DependencyInjection/PhpFrameworkExtensionTest.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
use Symfony\Component\DependencyInjection\Exception\LogicException;
1818
use Symfony\Component\DependencyInjection\Exception\OutOfBoundsException;
1919
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
20+
use Symfony\Component\Validator\Constraints\Email;
2021
use Symfony\Component\Workflow\Exception\InvalidDefinitionException;
2122

2223
class PhpFrameworkExtensionTest extends FrameworkExtensionTestCase
@@ -265,4 +266,31 @@ public function testRateLimiterIsTagged()
265266
$this->assertSame('first', $container->getDefinition('limiter.first')->getTag('rate_limiter')[0]['name']);
266267
$this->assertSame('second', $container->getDefinition('limiter.second')->getTag('rate_limiter')[0]['name']);
267268
}
269+
270+
/**
271+
* @dataProvider emailValidationModeProvider
272+
*/
273+
public function testValidatorEmailValidationMode(string $mode)
274+
{
275+
$this->expectNotToPerformAssertions();
276+
277+
$this->createContainerFromClosure(function (ContainerBuilder $container) use ($mode) {
278+
$container->loadFromExtension('framework', [
279+
'annotations' => false,
280+
'http_method_override' => false,
281+
'handle_all_throwables' => true,
282+
'php_errors' => ['log' => true],
283+
'validation' => [
284+
'email_validation_mode' => $mode,
285+
],
286+
]);
287+
});
288+
}
289+
290+
public function emailValidationModeProvider()
291+
{
292+
foreach (Email::VALIDATION_MODES as $mode) {
293+
yield [$mode];
294+
}
295+
}
268296
}

0 commit comments

Comments
 (0)