diff --git a/src/Symfony/Component/Form/Extension/Core/Type/FileType.php b/src/Symfony/Component/Form/Extension/Core/Type/FileType.php index de74a90ed0..675eff313f 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/FileType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/FileType.php @@ -46,6 +46,7 @@ class FileType extends AbstractType { $resolver->setDefaults(array( 'compound' => false, + 'data_class' => 'Symfony\Component\HttpFoundation\File\File' )); } diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/FileTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/FileTypeTest.php index dbd098b68d..be436cde47 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/FileTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/FileTypeTest.php @@ -15,6 +15,22 @@ use Symfony\Component\HttpFoundation\File\UploadedFile; class FileTypeTest extends TypeTestCase { + + public function testFormBuilderIfEntityHasFile() + { + $entity = new \StdClass; + $entity->imageFile = $this->createUploadedFileMock('abcdef', 'original.jpg', true); + + try { + $form = $this->factory->createBuilder('form', $entity) + ->add('imageFile', 'file') + ->getForm(); + return; + } catch (\Symfony\Component\Form\Exception\FormException $e) { + $this->fail(); + } + } + public function testDontPassValueToView() { $form = $this->factory->create('file');