Browse Source

Fix disabled attribute check.
Fixes #3818

ADmad 13 years ago
parent
commit
91319bbe7b

+ 22 - 0
lib/Cake/Test/Case/View/Helper/FormHelperTest.php

@@ -2205,6 +2205,28 @@ class FormHelperTest extends CakeTestCase {
 			'/div'
 		);
 		$this->assertTags($result, $expected);
+
+		$result = $this->Form->input('User.disabled', array(
+			'label' => 'Disabled',
+			'type' => 'checkbox',
+			'data-foo' => 'disabled'
+		));
+		$expected = array(
+			'div' => array('class' => 'input checkbox'),
+			'input' => array('type' => 'hidden', 'name' => 'data[User][disabled]', 'value' => '0', 'id' => 'UserDisabled_'),
+			array('input' => array(
+				'type' => 'checkbox',
+				'name' => 'data[User][disabled]',
+				'value' => '1',
+				'id' => 'UserDisabled',
+				'data-foo' => 'disabled'
+			)),
+			'label' => array('for' => 'UserDisabled'),
+			'Disabled',
+			'/label',
+			'/div'
+		);
+		$this->assertTags($result, $expected);
 	}
 
 /**

+ 1 - 1
lib/Cake/View/Helper/FormHelper.php

@@ -2809,7 +2809,7 @@ class FormHelper extends AppHelper {
 		}
 
 		$disabledIndex = array_search('disabled', $options, true);
-		if ($disabledIndex !== false) {
+		if (is_int($disabledIndex)) {
 			unset($options[$disabledIndex]);
 			$options['disabled'] = true;
 		}