From 82b5054aeba893385f88fcd28f7b15b769f12012 Mon Sep 17 00:00:00 2001 From: Tomas Dvorak Date: Thu, 12 Jul 2018 14:23:15 +0200 Subject: [PATCH 1/3] Formatted fix --- src/DI/ValidatorExtension.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/DI/ValidatorExtension.php b/src/DI/ValidatorExtension.php index dcbda36..da0da8e 100644 --- a/src/DI/ValidatorExtension.php +++ b/src/DI/ValidatorExtension.php @@ -37,7 +37,8 @@ class ValidatorExtension extends Nette\DI\CompilerExtension implements ITranslat 'cache' => 'default', 'translationDomain' => NULL, 'debug' => '%debugMode%', - 'strictEmail' => FALSE, + 'strictEmail' => NULL, + 'emailValidationMode' => \Symfony\Component\Validator\Constraints\Email::VALIDATION_MODE_LOOSE ]; @@ -79,13 +80,18 @@ public function loadConfiguration() $builder->addDefinition($this->prefix('validator')) ->setClass('Symfony\Component\Validator\Validator\ValidatorInterface') ->setFactory('Symfony\Component\Validator\Validator\RecursiveValidator'); + if ($config['strictEmail'] !== NULL) { + Validators::assertField($config, 'strictEmail', 'boolean'); + trigger_error('`strictEmail` configuration option is deprecated, use `emailValidationMode` instead.', E_USER_DEPRECATED); + $config['emailValidationMode'] = \Symfony\Component\Validator\Constraints\Email::VALIDATION_MODE_LOOSE; + } - Validators::assertField($config, 'strictEmail', 'boolean'); + Validators::assertField($config, 'emailValidationMode', 'string'); $builder->addDefinition($this->prefix('constraint.email')) ->setClass('Symfony\Component\Validator\Constraints\EmailValidator') ->setArguments([ - 'strict' => $config['strictEmail'], + 'defaultMode' => $config['emailValidationMode'], ]) ->addTag(self::TAG_CONSTRAINT_VALIDATOR); From d5628444590c91bf0584ee55953292f3c7de0ee6 Mon Sep 17 00:00:00 2001 From: Tomas Dvorak Date: Thu, 12 Jul 2018 14:24:55 +0200 Subject: [PATCH 2/3] Blank line --- src/DI/ValidatorExtension.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/DI/ValidatorExtension.php b/src/DI/ValidatorExtension.php index da0da8e..5f6cadc 100644 --- a/src/DI/ValidatorExtension.php +++ b/src/DI/ValidatorExtension.php @@ -80,7 +80,8 @@ public function loadConfiguration() $builder->addDefinition($this->prefix('validator')) ->setClass('Symfony\Component\Validator\Validator\ValidatorInterface') ->setFactory('Symfony\Component\Validator\Validator\RecursiveValidator'); - if ($config['strictEmail'] !== NULL) { + + if ($config['strictEmail'] !== NULL) { Validators::assertField($config, 'strictEmail', 'boolean'); trigger_error('`strictEmail` configuration option is deprecated, use `emailValidationMode` instead.', E_USER_DEPRECATED); $config['emailValidationMode'] = \Symfony\Component\Validator\Constraints\Email::VALIDATION_MODE_LOOSE; From 8e5ac95749a5ac09530e5d3cb2a4964d9fb21537 Mon Sep 17 00:00:00 2001 From: Tomas Dvorak Date: Thu, 12 Jul 2018 15:32:26 +0200 Subject: [PATCH 3/3] Updated testStrictEmail() test --- src/DI/ValidatorExtension.php | 4 ++-- tests/KdybyTests/Validator/Extension.phpt | 9 +++++---- tests/KdybyTests/Validator/config/non-strict-email.neon | 2 +- tests/KdybyTests/Validator/config/strict-email.neon | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/DI/ValidatorExtension.php b/src/DI/ValidatorExtension.php index 5f6cadc..d78322a 100644 --- a/src/DI/ValidatorExtension.php +++ b/src/DI/ValidatorExtension.php @@ -16,7 +16,7 @@ use Nette; use Nette\DI\Compiler; use Nette\Utils\Validators; - +use Symfony\Component\Validator\Constraints\Email; /** @@ -84,7 +84,7 @@ public function loadConfiguration() if ($config['strictEmail'] !== NULL) { Validators::assertField($config, 'strictEmail', 'boolean'); trigger_error('`strictEmail` configuration option is deprecated, use `emailValidationMode` instead.', E_USER_DEPRECATED); - $config['emailValidationMode'] = \Symfony\Component\Validator\Constraints\Email::VALIDATION_MODE_LOOSE; + $config['emailValidationMode'] = Email::VALIDATION_MODE_LOOSE; } Validators::assertField($config, 'emailValidationMode', 'string'); diff --git a/tests/KdybyTests/Validator/Extension.phpt b/tests/KdybyTests/Validator/Extension.phpt index 0ccff8e..d873d7e 100644 --- a/tests/KdybyTests/Validator/Extension.phpt +++ b/tests/KdybyTests/Validator/Extension.phpt @@ -118,9 +118,9 @@ class ExtensionTest extends Tester\TestCase public function strictEmailDataProvider() { return [ - [[], FALSE], - [[__DIR__ . '/config/strict-email.neon'], TRUE], - [[__DIR__ . '/config/non-strict-email.neon'], FALSE], + [[], 'loose'], + [[__DIR__ . '/config/strict-email.neon'], 'strict'], + [[__DIR__ . '/config/non-strict-email.neon'], 'loose'], ]; } @@ -138,7 +138,8 @@ class ExtensionTest extends Tester\TestCase $validator = $factory->getInstance(new \Symfony\Component\Validator\Constraints\Email()); Tester\Assert::type('Symfony\Component\Validator\Constraints\EmailValidator', $validator); - $property = new \ReflectionProperty('Symfony\Component\Validator\Constraints\EmailValidator', 'isStrict'); + $property = new \ReflectionProperty('Symfony\Component\Validator\Constraints\EmailValidator', 'defaultMode'); + $property->setAccessible(TRUE); Tester\Assert::same($strict, $property->getValue($validator)); } diff --git a/tests/KdybyTests/Validator/config/non-strict-email.neon b/tests/KdybyTests/Validator/config/non-strict-email.neon index bfc7ea2..9191f75 100644 --- a/tests/KdybyTests/Validator/config/non-strict-email.neon +++ b/tests/KdybyTests/Validator/config/non-strict-email.neon @@ -1,2 +1,2 @@ validator: - strictEmail: false + emailValidationMode: 'loose' diff --git a/tests/KdybyTests/Validator/config/strict-email.neon b/tests/KdybyTests/Validator/config/strict-email.neon index 7a74426..7809444 100644 --- a/tests/KdybyTests/Validator/config/strict-email.neon +++ b/tests/KdybyTests/Validator/config/strict-email.neon @@ -1,2 +1,2 @@ validator: - strictEmail: true + emailValidationMode: 'strict'