diff --git a/src/Symfony/Component/Form/Extension/Core/Type/FormType.php b/src/Symfony/Component/Form/Extension/Core/Type/FormType.php index 7288cd177c..1738fb4f62 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/FormType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/FormType.php @@ -179,9 +179,9 @@ class FormType extends AbstractType if ($form->hasChildren()) { return array(); } - }; - return ''; + return ''; + }; }; return array( diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/FormTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/FormTypeTest.php index 72ba0fc98e..8275c61455 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/FormTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/FormTypeTest.php @@ -344,6 +344,22 @@ class FormTypeTest extends TypeTestCase $this->assertSame(array('firstName' => 'Bernhard'), $form->getData()); } + public function testBindWithEmptyDataPassesEmptyStringToTransformerIfNoChildren() + { + $form = $this->factory->createBuilder('form') + ->appendClientTransformer(new FixedDataTransformer(array( + // required for the initial, internal setData(null) + null => 'null', + // required to test that bind(null) is converted to '' + 'empty' => '', + ))) + ->getForm(); + + $form->bind(null); + + $this->assertSame('empty', $form->getData()); + } + public function testBindWithEmptyDataUsesEmptyDataOption() { $author = new Author();