From af66beed76a3621209700840e137ad40d20dfb1b Mon Sep 17 00:00:00 2001 From: Bernhard Schussek Date: Wed, 18 May 2011 23:20:37 +0200 Subject: [PATCH] [Form] Added test for 6c337d1cc09c623c5fbb4ce261e1d41f2ebb9f6d --- .../Form/Extension/Core/Type/FileType.php | 2 +- .../Form/Extension/Core/Type/FileTypeTest.php | 48 +++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 tests/Symfony/Tests/Component/Form/Extension/Core/Type/FileTypeTest.php diff --git a/src/Symfony/Component/Form/Extension/Core/Type/FileType.php b/src/Symfony/Component/Form/Extension/Core/Type/FileType.php index e805ec6cb2..9bbf5fb929 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/FileType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/FileType.php @@ -52,7 +52,7 @@ class FileType extends AbstractType { $view->set('multipart', true); $view['file']->set('type', 'file'); - $view['file']->set('value', null); + $view['file']->set('value', ''); } public function getDefaultOptions(array $options) diff --git a/tests/Symfony/Tests/Component/Form/Extension/Core/Type/FileTypeTest.php b/tests/Symfony/Tests/Component/Form/Extension/Core/Type/FileTypeTest.php new file mode 100644 index 0000000000..849cc37c8a --- /dev/null +++ b/tests/Symfony/Tests/Component/Form/Extension/Core/Type/FileTypeTest.php @@ -0,0 +1,48 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Tests\Component\Form\Extension\Core\Type; + +require_once __DIR__ . '/TypeTestCase.php'; + +use Symfony\Component\HttpFoundation\File\UploadedFile; + +class FileTypeTest extends TypeTestCase +{ + public function testDontPassValueToView() + { + $form = $this->factory->create('file'); + $form->bind(array( + 'file' => $this->createUploadedFileMock('abcdef', 'original.jpg', true), + )); + $view = $form->createView(); + + $this->assertEquals('', $view['file']->get('value')); + } + + private function createUploadedFileMock($name, $originalName, $valid) + { + $file = $this->getMockBuilder('Symfony\Component\HttpFoundation\File\UploadedFile') + ->disableOriginalConstructor() + ->getMock(); + $file->expects($this->any()) + ->method('getName') + ->will($this->returnValue($name)); + $file->expects($this->any()) + ->method('getOriginalName') + ->will($this->returnValue($originalName)); + $file->expects($this->any()) + ->method('isValid') + ->will($this->returnValue($valid)); + + return $file; + } +}