Skip to content

Commit fa284fe

Browse files
committed
Merge branch '7.2' into 7.3
* 7.2: 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 017a7a4 + dd92e42 commit fa284fe

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
@@ -48,6 +48,7 @@
4848
use Symfony\Component\Translation\Translator;
4949
use Symfony\Component\TypeInfo\Type;
5050
use Symfony\Component\Uid\Factory\UuidFactory;
51+
use Symfony\Component\Validator\Constraints\Email;
5152
use Symfony\Component\Validator\Validation;
5253
use Symfony\Component\Webhook\Controller\WebhookController;
5354
use Symfony\Component\WebLink\HttpHeaderSerializer;
@@ -1075,7 +1076,7 @@ private function addValidationSection(ArrayNodeDefinition $rootNode, callable $e
10751076
->validate()->castToArray()->end()
10761077
->end()
10771078
->scalarNode('translation_domain')->defaultValue('validators')->end()
1078-
->enumNode('email_validation_mode')->values(['html5', 'loose', 'strict'])->defaultValue('html5')->end()
1079+
->enumNode('email_validation_mode')->values(Email::VALIDATION_MODES + ['loose'])->defaultValue('html5')->end()
10791080
->arrayNode('mapping')
10801081
->addDefaultsIfNotSet()
10811082
->fixXmlConfig('path')

Tests/DependencyInjection/PhpFrameworkExtensionTest.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
2020
use Symfony\Component\RateLimiter\CompoundRateLimiterFactory;
2121
use Symfony\Component\RateLimiter\RateLimiterFactoryInterface;
22+
use Symfony\Component\Validator\Constraints\Email;
2223
use Symfony\Component\Workflow\Exception\InvalidDefinitionException;
2324

2425
class PhpFrameworkExtensionTest extends FrameworkExtensionTestCase
@@ -378,4 +379,31 @@ public function testRateLimiterCompoundPolicyInvalidLimiters()
378379
]);
379380
});
380381
}
382+
383+
/**
384+
* @dataProvider emailValidationModeProvider
385+
*/
386+
public function testValidatorEmailValidationMode(string $mode)
387+
{
388+
$this->expectNotToPerformAssertions();
389+
390+
$this->createContainerFromClosure(function (ContainerBuilder $container) use ($mode) {
391+
$container->loadFromExtension('framework', [
392+
'annotations' => false,
393+
'http_method_override' => false,
394+
'handle_all_throwables' => true,
395+
'php_errors' => ['log' => true],
396+
'validation' => [
397+
'email_validation_mode' => $mode,
398+
],
399+
]);
400+
});
401+
}
402+
403+
public function emailValidationModeProvider()
404+
{
405+
foreach (Email::VALIDATION_MODES as $mode) {
406+
yield [$mode];
407+
}
408+
}
381409
}

0 commit comments

Comments
 (0)