deprecate not using a rounding mode
This commit is contained in:
parent
c6cf433589
commit
25ba1a241d
|
@ -39,6 +39,8 @@ EventDispatcher
|
|||
Form
|
||||
----
|
||||
|
||||
* Not configuring the `rounding_mode` option of the `PercentType` is deprecated. It will default to `PercentToLocalizedStringTransformer::ROUND_HALF_UP` in Symfony 6.
|
||||
* Not passing a rounding mode to the constructor of `PercentToLocalizedStringTransformer` is deprecated. It will default to `ROUND_HALF_UP` in Symfony 6.
|
||||
* Implementing the `FormConfigInterface` without implementing the `getIsEmptyCallback()` method
|
||||
is deprecated. The method will be added to the interface in 6.0.
|
||||
* Implementing the `FormConfigBuilderInterface` without implementing the `setIsEmptyCallback()` method
|
||||
|
|
|
@ -39,6 +39,8 @@ EventDispatcher
|
|||
Form
|
||||
----
|
||||
|
||||
* The default value of the `rounding_mode` option of the `PercentType` has been changed to `PercentToLocalizedStringTransformer::ROUND_HALF_UP`.
|
||||
* The default rounding mode of the `PercentToLocalizedStringTransformer` has been changed to `ROUND_HALF_UP`.
|
||||
* Added the `getIsEmptyCallback()` method to the `FormConfigInterface`.
|
||||
* Added the `setIsEmptyCallback()` method to the `FormConfigBuilderInterface`.
|
||||
* Added argument `callable|null $filter` to `ChoiceListFactoryInterface::createListFromChoices()` and `createListFromLoader()`.
|
||||
|
|
|
@ -4,6 +4,8 @@ CHANGELOG
|
|||
5.1.0
|
||||
-----
|
||||
|
||||
* Deprecated not configuring the `rounding_mode` option of the `PercentType`. It will default to `PercentToLocalizedStringTransformer::ROUND_HALF_UP` in Symfony 6.
|
||||
* Deprecated not passing a rounding mode to the constructor of `PercentToLocalizedStringTransformer`. It will default to `ROUND_HALF_UP` in Symfony 6.
|
||||
* Added `collection_entry` block prefix to `CollectionType` entries
|
||||
* Added a `choice_filter` option to `ChoiceType`
|
||||
* Added argument `callable|null $filter` to `ChoiceListFactoryInterface::createListFromChoices()` and `createListFromLoader()` - not defining them is deprecated.
|
||||
|
|
|
@ -80,8 +80,7 @@ class PercentToLocalizedStringTransformer implements DataTransformerInterface
|
|||
self::INTEGER,
|
||||
];
|
||||
|
||||
protected $roundingMode;
|
||||
|
||||
private $roundingMode;
|
||||
private $type;
|
||||
private $scale;
|
||||
|
||||
|
@ -93,7 +92,7 @@ class PercentToLocalizedStringTransformer implements DataTransformerInterface
|
|||
*
|
||||
* @throws UnexpectedTypeException if the given value of type is unknown
|
||||
*/
|
||||
public function __construct(int $scale = null, string $type = null, ?int $roundingMode = self::ROUND_HALF_UP)
|
||||
public function __construct(int $scale = null, string $type = null, ?int $roundingMode = null)
|
||||
{
|
||||
if (null === $scale) {
|
||||
$scale = 0;
|
||||
|
@ -103,8 +102,8 @@ class PercentToLocalizedStringTransformer implements DataTransformerInterface
|
|||
$type = self::FRACTIONAL;
|
||||
}
|
||||
|
||||
if (null === $roundingMode) {
|
||||
$roundingMode = self::ROUND_HALF_UP;
|
||||
if (null === $roundingMode && (\func_num_args() < 4 || func_get_arg(3))) {
|
||||
trigger_deprecation('symfony/form', '5.1', sprintf('Not passing a rounding mode to %s() is deprecated. Starting with Symfony 6.0 it will default to "%s::ROUND_HALF_UP".', __METHOD__, __CLASS__));
|
||||
}
|
||||
|
||||
if (!\in_array($type, self::$types, true)) {
|
||||
|
@ -235,7 +234,10 @@ class PercentToLocalizedStringTransformer implements DataTransformerInterface
|
|||
$formatter = new \NumberFormatter(\Locale::getDefault(), \NumberFormatter::DECIMAL);
|
||||
|
||||
$formatter->setAttribute(\NumberFormatter::FRACTION_DIGITS, $this->scale);
|
||||
$formatter->setAttribute(\NumberFormatter::ROUNDING_MODE, $this->roundingMode);
|
||||
|
||||
if (null !== $this->roundingMode) {
|
||||
$formatter->setAttribute(\NumberFormatter::ROUNDING_MODE, $this->roundingMode);
|
||||
}
|
||||
|
||||
return $formatter;
|
||||
}
|
||||
|
|
|
@ -12,11 +12,11 @@
|
|||
namespace Symfony\Component\Form\Extension\Core\Type;
|
||||
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\DataTransformer\NumberToLocalizedStringTransformer;
|
||||
use Symfony\Component\Form\Extension\Core\DataTransformer\PercentToLocalizedStringTransformer;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\Form\FormInterface;
|
||||
use Symfony\Component\Form\FormView;
|
||||
use Symfony\Component\OptionsResolver\Options;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
|
||||
class PercentType extends AbstractType
|
||||
|
@ -29,7 +29,8 @@ class PercentType extends AbstractType
|
|||
$builder->addViewTransformer(new PercentToLocalizedStringTransformer(
|
||||
$options['scale'],
|
||||
$options['type'],
|
||||
$options['rounding_mode']
|
||||
$options['rounding_mode'],
|
||||
false
|
||||
));
|
||||
}
|
||||
|
||||
|
@ -48,7 +49,11 @@ class PercentType extends AbstractType
|
|||
{
|
||||
$resolver->setDefaults([
|
||||
'scale' => 0,
|
||||
'rounding_mode' => NumberToLocalizedStringTransformer::ROUND_HALF_UP,
|
||||
'rounding_mode' => function (Options $options) {
|
||||
trigger_deprecation('symfony/form', '5.1', sprintf('Not configuring the "rounding_mode" option is deprecated. It will default to "%s::ROUND_HALF_UP" in Symfony 6.0.', PercentToLocalizedStringTransformer::class));
|
||||
|
||||
return null;
|
||||
},
|
||||
'symbol' => '%',
|
||||
'type' => 'fractional',
|
||||
'compound' => false,
|
||||
|
@ -59,16 +64,24 @@ class PercentType extends AbstractType
|
|||
'integer',
|
||||
]);
|
||||
$resolver->setAllowedValues('rounding_mode', [
|
||||
NumberToLocalizedStringTransformer::ROUND_FLOOR,
|
||||
NumberToLocalizedStringTransformer::ROUND_DOWN,
|
||||
NumberToLocalizedStringTransformer::ROUND_HALF_DOWN,
|
||||
NumberToLocalizedStringTransformer::ROUND_HALF_EVEN,
|
||||
NumberToLocalizedStringTransformer::ROUND_HALF_UP,
|
||||
NumberToLocalizedStringTransformer::ROUND_UP,
|
||||
NumberToLocalizedStringTransformer::ROUND_CEILING,
|
||||
null,
|
||||
PercentToLocalizedStringTransformer::ROUND_FLOOR,
|
||||
PercentToLocalizedStringTransformer::ROUND_DOWN,
|
||||
PercentToLocalizedStringTransformer::ROUND_HALF_DOWN,
|
||||
PercentToLocalizedStringTransformer::ROUND_HALF_EVEN,
|
||||
PercentToLocalizedStringTransformer::ROUND_HALF_UP,
|
||||
PercentToLocalizedStringTransformer::ROUND_UP,
|
||||
PercentToLocalizedStringTransformer::ROUND_CEILING,
|
||||
]);
|
||||
$resolver->setAllowedTypes('scale', 'int');
|
||||
$resolver->setAllowedTypes('symbol', ['bool', 'string']);
|
||||
$resolver->setDeprecated('rounding_mode', 'symfony/form', '5.1', function (Options $options, $roundingMode) {
|
||||
if (null === $roundingMode) {
|
||||
return sprintf('Not configuring the "rounding_mode" option is deprecated. It will default to "%s::ROUND_HALF_UP" in Symfony 6.0.', PercentToLocalizedStringTransformer::class);
|
||||
}
|
||||
|
||||
return '';
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -12,11 +12,14 @@
|
|||
namespace Symfony\Component\Form\Tests\Extension\Core\DataTransformer;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Symfony\Bridge\PhpUnit\ExpectDeprecationTrait;
|
||||
use Symfony\Component\Form\Extension\Core\DataTransformer\PercentToLocalizedStringTransformer;
|
||||
use Symfony\Component\Intl\Util\IntlTestHelper;
|
||||
|
||||
class PercentToLocalizedStringTransformerTest extends TestCase
|
||||
{
|
||||
use ExpectDeprecationTrait;
|
||||
|
||||
private $defaultLocale;
|
||||
|
||||
protected function setUp(): void
|
||||
|
@ -32,7 +35,7 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
|
||||
public function testTransform()
|
||||
{
|
||||
$transformer = new PercentToLocalizedStringTransformer();
|
||||
$transformer = new PercentToLocalizedStringTransformer(null, null, PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$this->assertEquals('10', $transformer->transform(0.1));
|
||||
$this->assertEquals('15', $transformer->transform(0.15));
|
||||
|
@ -42,14 +45,14 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
|
||||
public function testTransformEmpty()
|
||||
{
|
||||
$transformer = new PercentToLocalizedStringTransformer();
|
||||
$transformer = new PercentToLocalizedStringTransformer(null, null, PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$this->assertEquals('', $transformer->transform(null));
|
||||
}
|
||||
|
||||
public function testTransformWithInteger()
|
||||
{
|
||||
$transformer = new PercentToLocalizedStringTransformer(null, 'integer');
|
||||
$transformer = new PercentToLocalizedStringTransformer(null, 'integer', PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$this->assertEquals('0', $transformer->transform(0.1));
|
||||
$this->assertEquals('1', $transformer->transform(1));
|
||||
|
@ -64,14 +67,26 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
$transformer = new PercentToLocalizedStringTransformer(2);
|
||||
$transformer = new PercentToLocalizedStringTransformer(2, null, PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$this->assertEquals('12,34', $transformer->transform(0.1234));
|
||||
}
|
||||
|
||||
/**
|
||||
* @group legacy
|
||||
*/
|
||||
public function testReverseTransformWithScaleAndRoundingDisabled()
|
||||
{
|
||||
$this->expectDeprecation('Since symfony/form 5.1: Not passing a rounding mode to Symfony\Component\Form\Extension\Core\DataTransformer\PercentToLocalizedStringTransformer::__construct() is deprecated. Starting with Symfony 6.0 it will default to Symfony\Component\Form\Extension\Core\DataTransformer\PercentToLocalizedStringTransformer::ROUND_HALF_UP.');
|
||||
|
||||
$transformer = new PercentToLocalizedStringTransformer(2, PercentToLocalizedStringTransformer::FRACTIONAL);
|
||||
|
||||
$this->assertEquals(0.0123456, $transformer->reverseTransform('1.23456'));
|
||||
}
|
||||
|
||||
public function testReverseTransform()
|
||||
{
|
||||
$transformer = new PercentToLocalizedStringTransformer();
|
||||
$transformer = new PercentToLocalizedStringTransformer(null, null, PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$this->assertEquals(0.1, $transformer->reverseTransform('10'));
|
||||
$this->assertEquals(0.15, $transformer->reverseTransform('15'));
|
||||
|
@ -184,14 +199,14 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
|
||||
public function testReverseTransformEmpty()
|
||||
{
|
||||
$transformer = new PercentToLocalizedStringTransformer();
|
||||
$transformer = new PercentToLocalizedStringTransformer(null, null, PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$this->assertNull($transformer->reverseTransform(''));
|
||||
}
|
||||
|
||||
public function testReverseTransformWithInteger()
|
||||
{
|
||||
$transformer = new PercentToLocalizedStringTransformer(null, 'integer');
|
||||
$transformer = new PercentToLocalizedStringTransformer(null, 'integer', PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$this->assertEquals(10, $transformer->reverseTransform('10'));
|
||||
$this->assertEquals(15, $transformer->reverseTransform('15'));
|
||||
|
@ -206,14 +221,14 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
|
||||
\Locale::setDefault('de_AT');
|
||||
|
||||
$transformer = new PercentToLocalizedStringTransformer(2);
|
||||
$transformer = new PercentToLocalizedStringTransformer(2, null, PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$this->assertEquals(0.1234, $transformer->reverseTransform('12,34'));
|
||||
}
|
||||
|
||||
public function testTransformExpectsNumeric()
|
||||
{
|
||||
$transformer = new PercentToLocalizedStringTransformer();
|
||||
$transformer = new PercentToLocalizedStringTransformer(null, null, PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$this->expectException('Symfony\Component\Form\Exception\TransformationFailedException');
|
||||
|
||||
|
@ -222,7 +237,7 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
|
||||
public function testReverseTransformExpectsString()
|
||||
{
|
||||
$transformer = new PercentToLocalizedStringTransformer();
|
||||
$transformer = new PercentToLocalizedStringTransformer(null, null, PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$this->expectException('Symfony\Component\Form\Exception\TransformationFailedException');
|
||||
|
||||
|
@ -234,7 +249,7 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
IntlTestHelper::requireFullIntl($this, '4.8.1.1');
|
||||
|
||||
\Locale::setDefault('fr');
|
||||
$transformer = new PercentToLocalizedStringTransformer(1, 'integer');
|
||||
$transformer = new PercentToLocalizedStringTransformer(1, 'integer', PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
// completely valid format
|
||||
$this->assertEquals(1234.5, $transformer->reverseTransform('1 234,5'));
|
||||
|
@ -253,7 +268,7 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
|
||||
\Locale::setDefault('de_DE');
|
||||
|
||||
$transformer = new PercentToLocalizedStringTransformer(1, 'integer');
|
||||
$transformer = new PercentToLocalizedStringTransformer(1, 'integer', PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$transformer->reverseTransform('1.234.5');
|
||||
}
|
||||
|
@ -266,7 +281,7 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
|
||||
\Locale::setDefault('de_DE');
|
||||
|
||||
$transformer = new PercentToLocalizedStringTransformer(1, 'integer');
|
||||
$transformer = new PercentToLocalizedStringTransformer(1, 'integer', PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$transformer->reverseTransform('1234.5');
|
||||
}
|
||||
|
@ -277,7 +292,7 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
IntlTestHelper::requireFullIntl($this, false);
|
||||
|
||||
\Locale::setDefault('fr');
|
||||
$transformer = new PercentToLocalizedStringTransformer(1, 'integer');
|
||||
$transformer = new PercentToLocalizedStringTransformer(1, 'integer', PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$this->assertEquals(1234.5, $transformer->reverseTransform('1234,5'));
|
||||
$this->assertEquals(1234.5, $transformer->reverseTransform('1234.5'));
|
||||
|
@ -289,7 +304,7 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
IntlTestHelper::requireFullIntl($this, '4.8.1.1');
|
||||
|
||||
\Locale::setDefault('bg');
|
||||
$transformer = new PercentToLocalizedStringTransformer(1, 'integer');
|
||||
$transformer = new PercentToLocalizedStringTransformer(1, 'integer', PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
// completely valid format
|
||||
$this->assertEquals(1234.5, $transformer->reverseTransform('1 234.5'));
|
||||
|
@ -305,7 +320,7 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
$this->expectException('Symfony\Component\Form\Exception\TransformationFailedException');
|
||||
IntlTestHelper::requireFullIntl($this, '4.8.1.1');
|
||||
|
||||
$transformer = new PercentToLocalizedStringTransformer(1, 'integer');
|
||||
$transformer = new PercentToLocalizedStringTransformer(1, 'integer', PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$transformer->reverseTransform('1,234,5');
|
||||
}
|
||||
|
@ -315,7 +330,7 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
$this->expectException('Symfony\Component\Form\Exception\TransformationFailedException');
|
||||
IntlTestHelper::requireFullIntl($this, '4.8.1.1');
|
||||
|
||||
$transformer = new PercentToLocalizedStringTransformer(1, 'integer');
|
||||
$transformer = new PercentToLocalizedStringTransformer(1, 'integer', PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$transformer->reverseTransform('1234,5');
|
||||
}
|
||||
|
@ -328,7 +343,7 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
|
||||
$transformer = $this->getMockBuilder('Symfony\Component\Form\Extension\Core\DataTransformer\PercentToLocalizedStringTransformer')
|
||||
->setMethods(['getNumberFormatter'])
|
||||
->setConstructorArgs([1, 'integer'])
|
||||
->setConstructorArgs([1, 'integer', PercentToLocalizedStringTransformer::ROUND_HALF_UP])
|
||||
->getMock();
|
||||
$transformer->expects($this->any())
|
||||
->method('getNumberFormatter')
|
||||
|
@ -341,7 +356,7 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
public function testReverseTransformDisallowsLeadingExtraCharacters()
|
||||
{
|
||||
$this->expectException('Symfony\Component\Form\Exception\TransformationFailedException');
|
||||
$transformer = new PercentToLocalizedStringTransformer();
|
||||
$transformer = new PercentToLocalizedStringTransformer(null, null, PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$transformer->reverseTransform('foo123');
|
||||
}
|
||||
|
@ -350,7 +365,7 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
{
|
||||
$this->expectException('Symfony\Component\Form\Exception\TransformationFailedException');
|
||||
$this->expectExceptionMessage('The number contains unrecognized characters: "foo3"');
|
||||
$transformer = new PercentToLocalizedStringTransformer();
|
||||
$transformer = new PercentToLocalizedStringTransformer(null, null, PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$transformer->reverseTransform('12foo3');
|
||||
}
|
||||
|
@ -367,7 +382,7 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
|
||||
\Locale::setDefault('ru');
|
||||
|
||||
$transformer = new PercentToLocalizedStringTransformer();
|
||||
$transformer = new PercentToLocalizedStringTransformer(null, null, PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$transformer->reverseTransform("12\xc2\xa0345,67foo8");
|
||||
}
|
||||
|
@ -376,7 +391,7 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
{
|
||||
$this->expectException('Symfony\Component\Form\Exception\TransformationFailedException');
|
||||
$this->expectExceptionMessage('The number contains unrecognized characters: "foo"');
|
||||
$transformer = new PercentToLocalizedStringTransformer();
|
||||
$transformer = new PercentToLocalizedStringTransformer(null, null, PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$transformer->reverseTransform('123foo');
|
||||
}
|
||||
|
@ -393,7 +408,7 @@ class PercentToLocalizedStringTransformerTest extends TestCase
|
|||
|
||||
\Locale::setDefault('ru');
|
||||
|
||||
$transformer = new PercentToLocalizedStringTransformer();
|
||||
$transformer = new PercentToLocalizedStringTransformer(null, null, PercentToLocalizedStringTransformer::ROUND_HALF_UP);
|
||||
|
||||
$transformer->reverseTransform("12\xc2\xa0345,678foo");
|
||||
}
|
||||
|
|
|
@ -0,0 +1,69 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Form\Tests\Extension\Core\Type;
|
||||
|
||||
use Symfony\Bridge\PhpUnit\ExpectDeprecationTrait;
|
||||
use Symfony\Component\Form\Extension\Core\DataTransformer\PercentToLocalizedStringTransformer;
|
||||
use Symfony\Component\Form\Extension\Core\Type\PercentType;
|
||||
use Symfony\Component\Form\Test\TypeTestCase;
|
||||
|
||||
class PercentTypeTest extends TypeTestCase
|
||||
{
|
||||
use ExpectDeprecationTrait;
|
||||
|
||||
const TESTED_TYPE = PercentType::class;
|
||||
|
||||
public function testSubmitWithRoundingMode()
|
||||
{
|
||||
$form = $this->factory->create(self::TESTED_TYPE, null, [
|
||||
'scale' => 2,
|
||||
'rounding_mode' => PercentToLocalizedStringTransformer::ROUND_CEILING,
|
||||
]);
|
||||
|
||||
$form->submit('1.23456');
|
||||
|
||||
$this->assertEquals(0.0124, $form->getData());
|
||||
}
|
||||
|
||||
/**
|
||||
* @group legacy
|
||||
*/
|
||||
public function testSubmitWithoutRoundingMode()
|
||||
{
|
||||
$this->expectDeprecation('Since symfony/form 5.1: Not configuring the "rounding_mode" option is deprecated. It will default to Symfony\Component\Form\Extension\Core\DataTransformer\PercentToLocalizedStringTransformer::ROUND_HALF_UP in Symfony 6.0.');
|
||||
|
||||
$form = $this->factory->create(self::TESTED_TYPE, null, [
|
||||
'scale' => 2,
|
||||
]);
|
||||
|
||||
$form->submit('1.23456');
|
||||
|
||||
$this->assertEquals(0.0123456, $form->getData());
|
||||
}
|
||||
|
||||
/**
|
||||
* @group legacy
|
||||
*/
|
||||
public function testSubmitWithNullRoundingMode()
|
||||
{
|
||||
$this->expectDeprecation('Since symfony/form 5.1: Not configuring the "rounding_mode" option is deprecated. It will default to Symfony\Component\Form\Extension\Core\DataTransformer\PercentToLocalizedStringTransformer::ROUND_HALF_UP in Symfony 6.0.');
|
||||
|
||||
$form = $this->factory->create(self::TESTED_TYPE, null, [
|
||||
'rounding_mode' => null,
|
||||
'scale' => 2,
|
||||
]);
|
||||
|
||||
$form->submit('1.23456');
|
||||
|
||||
$this->assertEquals(0.0123456, $form->getData());
|
||||
}
|
||||
}
|
Reference in New Issue