minor #30230 [Form] undeprecate date formats in single_text widgets (xabbuh)

This PR was merged into the 4.3-dev branch.

Discussion
----------

[Form] undeprecate date formats in single_text widgets

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Commits
-------

1a983d07db undeprecate date formats in single_text widgets
This commit is contained in:
Christian Flothmann 2019-02-20 08:44:41 +01:00
commit c3cf08e238
2 changed files with 15 additions and 3 deletions

View File

@ -294,9 +294,9 @@ class DateTimeType extends AbstractType
]);
$resolver->setDeprecated('date_format', function (Options $options, $dateFormat) {
if (null !== $dateFormat && 'single_text' === $options['widget']) {
return sprintf('Using the "date_format" option of %s when the "widget" option is set to "single_text" is deprecated since Symfony 4.3 and will lead to an exception in 5.0.', self::class);
//throw new LogicException(sprintf('Cannot use the "date_format" option of the %s when the "widget" option is set to "single_text".', self::class));
if (null !== $dateFormat && 'single_text' === $options['widget'] && self::HTML5_FORMAT === $options['format']) {
return sprintf('Using the "date_format" option of %s with an HTML5 date widget is deprecated since Symfony 4.3 and will lead to an exception in 5.0.', self::class);
//throw new LogicException(sprintf('Cannot use the "date_format" option of the %s with an HTML5 date.', self::class));
}
return '';

View File

@ -491,6 +491,18 @@ class DateTimeTypeTest extends BaseTypeTest
$this->assertArrayNotHasKey('type', $view->vars);
}
public function testSingleTextWidgetWithCustomNonHtml5Format()
{
$form = $this->factory->create(static::TESTED_TYPE, new \DateTime('2019-02-13 19:12:13'), [
'widget' => 'single_text',
'date_format' => \IntlDateFormatter::SHORT,
'format' => null,
]);
$view = $form->createView();
$this->assertSame('2/13/19, 7:12:13 PM', $view->vars['value']);
}
public function testDateTypeChoiceErrorsBubbleUp()
{
$error = new FormError('Invalid!');