diff --git a/lib/Cake/Test/Case/View/Helper/FormHelperTest.php b/lib/Cake/Test/Case/View/Helper/FormHelperTest.php index 4ff0bd655..f662ac4ec 100644 --- a/lib/Cake/Test/Case/View/Helper/FormHelperTest.php +++ b/lib/Cake/Test/Case/View/Helper/FormHelperTest.php @@ -807,6 +807,36 @@ class FormHelperTest extends CakeTestCase { $this->assertTags($result, $expected); } +/** + * Tests correct generation of file upload fields for binary fields + * + * @return void + */ + public function testFileUploadFieldTypeGenerationForBinaries() { + $model = ClassRegistry::getObject('Contact'); + $model->setSchema(array('foo' => array( + 'type' => 'binary', + 'null' => false, + 'default' => null, + 'length' => 1024 + ))); + + $this->Form->create('Contact'); + $result = $this->Form->input('foo'); + $expected = array( + 'div' => array('class' => 'input file'), + 'label' => array('for' => 'ContactFoo'), + 'Foo', + '/label', + array('input' => array( + 'type' => 'file', 'name' => 'data[Contact][foo]', + 'id' => 'ContactFoo' + )), + '/div' + ); + $this->assertTags($result, $expected); + } + /** * testFormSecurityMultipleFields method * diff --git a/lib/Cake/View/Helper/FormHelper.php b/lib/Cake/View/Helper/FormHelper.php index c7650125f..77e69003f 100644 --- a/lib/Cake/View/Helper/FormHelper.php +++ b/lib/Cake/View/Helper/FormHelper.php @@ -1147,7 +1147,8 @@ class FormHelper extends AppHelper { 'boolean' => 'checkbox', 'timestamp' => 'datetime', 'text' => 'textarea', 'time' => 'time', 'date' => 'date', 'float' => 'number', - 'integer' => 'number', 'decimal' => 'number' + 'integer' => 'number', 'decimal' => 'number', + 'binary' => 'file' ); if (isset($this->map[$type])) {