From 148ba1feebd84b7c100923e7e58eaa3cfea88a53 Mon Sep 17 00:00:00 2001 From: Yonel Ceruto Date: Wed, 26 Jun 2019 06:38:17 -0400 Subject: [PATCH] Removed legacy code from NumberType --- src/Symfony/Component/Form/CHANGELOG.md | 1 + .../Form/Extension/Core/Type/NumberType.php | 14 -------------- .../Tests/Extension/Core/Type/NumberTypeTest.php | 16 ++++++---------- 3 files changed, 7 insertions(+), 24 deletions(-) diff --git a/src/Symfony/Component/Form/CHANGELOG.md b/src/Symfony/Component/Form/CHANGELOG.md index 1b739e9d7b..72513d0db9 100644 --- a/src/Symfony/Component/Form/CHANGELOG.md +++ b/src/Symfony/Component/Form/CHANGELOG.md @@ -17,6 +17,7 @@ CHANGELOG * removed the `$scale` argument of the `IntegerToLocalizedStringTransformer` * removed `TemplatingExtension` and `TemplatingRendererEngine` classes, use Twig instead * passing a null message when instantiating a `Symfony\Component\Form\FormError` is not allowed + * removed support for using `int` or `float` as data for the `NumberType` when the `input` option is set to `string` 4.4.0 ----- diff --git a/src/Symfony/Component/Form/Extension/Core/Type/NumberType.php b/src/Symfony/Component/Form/Extension/Core/Type/NumberType.php index 0ee965d8c4..4c1f1fd71f 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/NumberType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/NumberType.php @@ -12,7 +12,6 @@ namespace Symfony\Component\Form\Extension\Core\Type; use Symfony\Component\Form\AbstractType; -use Symfony\Component\Form\CallbackTransformer; use Symfony\Component\Form\Exception\LogicException; use Symfony\Component\Form\Extension\Core\DataTransformer\NumberToLocalizedStringTransformer; use Symfony\Component\Form\Extension\Core\DataTransformer\StringToFloatTransformer; @@ -38,19 +37,6 @@ class NumberType extends AbstractType if ('string' === $options['input']) { $builder->addModelTransformer(new StringToFloatTransformer($options['scale'])); - $builder->addModelTransformer(new CallbackTransformer( - function ($value) { - if (\is_float($value) || \is_int($value)) { - @trigger_error(sprintf('Using the %s with float or int data when the "input" option is set to "string" is deprecated since Symfony 4.4 and will throw an exception in 5.0.', self::class), E_USER_DEPRECATED); - $value = (string) $value; - } - - return $value; - }, - function ($value) { - return $value; - } - )); } } diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/NumberTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/NumberTypeTest.php index 2ba6272d47..fd4fa9a05b 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/NumberTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/NumberTypeTest.php @@ -78,31 +78,27 @@ class NumberTypeTest extends BaseTypeTest } /** - * @group legacy - * @expectedDeprecation Using the Symfony\Component\Form\Extension\Core\Type\NumberType with float or int data when the "input" option is set to "string" is deprecated since Symfony 4.4 and will throw an exception in 5.0. + * @expectedException \Symfony\Component\Form\Exception\TransformationFailedException + * @expectedExceptionMessage Expected a numeric string. */ public function testStringInputWithFloatData(): void { - $form = $this->factory->create(static::TESTED_TYPE, 12345.6789, [ + $this->factory->create(static::TESTED_TYPE, 12345.6789, [ 'input' => 'string', 'scale' => 2, ]); - - $this->assertSame('12345,68', $form->createView()->vars['value']); } /** - * @group legacy - * @expectedDeprecation Using the Symfony\Component\Form\Extension\Core\Type\NumberType with float or int data when the "input" option is set to "string" is deprecated since Symfony 4.4 and will throw an exception in 5.0. + * @expectedException \Symfony\Component\Form\Exception\TransformationFailedException + * @expectedExceptionMessage Expected a numeric string. */ public function testStringInputWithIntData(): void { - $form = $this->factory->create(static::TESTED_TYPE, 12345, [ + $this->factory->create(static::TESTED_TYPE, 12345, [ 'input' => 'string', 'scale' => 2, ]); - - $this->assertSame('12345,00', $form->createView()->vars['value']); } public function testDefaultFormattingWithRounding(): void