8000 deprecate the unused scale option · symfony/symfony@b46edc6 · GitHub
[go: up one dir, main page]

Skip to content

Commit b46edc6

Browse files
committed
deprecate the unused scale option
1 parent a26bd36 commit b46edc6

File tree

2 files changed

+34
-5
lines changed

2 files changed

+34
-5
lines changed

src/Symfony/Component/Form/Extension/Core/Type/IntegerType.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
2525
{
2626
$builder->addViewTransformer(
2727
new IntegerToLocalizedStringTransformer(
28-
$options['scale'],
28+
null,
2929
$options['grouping'],
3030
$options['rounding_mode']
3131
));
@@ -37,8 +37,6 @@ public function buildForm(FormBuilderInterface $builder, array $options)
3737
public function configureOptions(OptionsResolver $resolver)
3838
{
3939
$resolver->setDefaults(array(
40-
// default scale is locale specific (usually around 3)
41-
'scale' => null,
4240
'grouping' => false,
4341
// Integer cast rounds towards 0, so do the same when displaying fractions
4442
'rounding_mode' => IntegerToLocalizedStringTransformer::ROUND_DOWN,
@@ -55,7 +53,9 @@ public function configureOptions(OptionsResolver $resolver)
5553
IntegerToLocalizedStringTransformer::ROUND_CEILING,
5654
));
5755

56+
$resolver->setDefined('scale');
5857
$resolver->setAllowedTypes('scale', array('null', 'int'));
58+
$resolver->setDeprecated('scale');
5959
}
6060

6161
/**

src/Symfony/Component/Form/Tests/Command/DebugCommandTest.php

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@
1515
use Symfony\Component\Console\Application;
1616
use Symfony\Component\Console\Exception\InvalidArgumentException;
1717
use Symfony\Component\Console\Tester\CommandTester;
18+
use Symfony\Component\Form\AbstractType;
1819
use Symfony\Component\Form\Command\DebugCommand;
1920
use Symfony\Component\Form\Extension\Core\Type\TextType;
2021
use Symfony\Component\Form\FormRegistry;
2122
use Symfony\Component\Form\ResolvedFormTypeFactory;
22-
use Symfony\Component\Form\Tests\Console\Descriptor\FooType;
23+
use Symfony\Component\OptionsResolver\Options;
24+
use Symfony\Component\OptionsResolver\OptionsResolver;
2325

2426
class DebugCommandTest extends TestCase
2527
{
@@ -40,10 +42,15 @@ public function testDebugDeprecatedDefaults()
4042
$this->assertEquals(0, $ret, 'Returns 0 in case of success');
4143
$this->assertSame(<<<TXT
4244
45+
Built-in form types (Symfony\Component\Form\Extension\Core\Type)
46+
----------------------------------------------------------------
47+
48+
IntegerType
49+
4350
Service form types
4451
------------------
4552
46-
* Symfony\Component\Form\Tests\Console\Descriptor\FooType
53+
* Symfony\Component\Form\Tests\Command\FooType
4754
4855
4956
TXT
@@ -147,3 +154,25 @@ private function createCommandTester(array $namespaces = array('Symfony\Componen
147154
return new CommandTester($application->find('debug:form'));
148155
}
149156
}
157+
158+
class FooType extends AbstractType
159+
{
160+
public function configureOptions(OptionsResolver $resolver)
161+
{
162+
$resolver->setRequired('foo');
163+
$resolver->setDefined('bar');
164+
$resolver->setDeprecated('bar');
165+
$resolver->setDefault('empty_data', function (Options $options) {
166+
$foo = $options['foo'];
167+
168+
return function (FormInterface $form) use ($foo) {
169+
return $form->getConfig()->getCompound() ? array($foo) : $foo;
170+
};
171+
});
172+
$resolver->setAllowedTypes('foo', 'string');
173+
$resolver->setAllowedValues('foo', array('bar', 'baz'));
174+
$resolver->setNormalizer('foo', function (Options $options, $value) {
175+
return (string) $value;
176+
});
177+
}
178+
}

0 commit comments

Comments
 (0)
0