|
|
@@ -3183,80 +3183,6 @@ class FormHelperTest extends CakeTestCase {
|
|
|
);
|
|
|
$this->assertTags($result, $expected);
|
|
|
|
|
|
- $result = $this->Form->radio('Model.field', array('1' => 'Yes', '0' => 'No'), array('value' => '1'));
|
|
|
- $expected = array(
|
|
|
- 'fieldset' => array(),
|
|
|
- 'legend' => array(),
|
|
|
- 'Field',
|
|
|
- '/legend',
|
|
|
- array('input' => array('type' => 'radio', 'name' => 'data[Model][field]', 'value' => '1', 'id' => 'ModelField1', 'checked' => 'checked')),
|
|
|
- array('label' => array('for' => 'ModelField1')),
|
|
|
- 'Yes',
|
|
|
- '/label',
|
|
|
- array('input' => array('type' => 'radio', 'name' => 'data[Model][field]', 'value' => '0', 'id' => 'ModelField0')),
|
|
|
- array('label' => array('for' => 'ModelField0')),
|
|
|
- 'No',
|
|
|
- '/label',
|
|
|
- '/fieldset'
|
|
|
- );
|
|
|
- $this->assertTags($result, $expected);
|
|
|
-
|
|
|
- $result = $this->Form->radio('Model.field', array('1' => 'Yes', '0' => 'No'), array('value' => '0'));
|
|
|
- $expected = array(
|
|
|
- 'fieldset' => array(),
|
|
|
- 'legend' => array(),
|
|
|
- 'Field',
|
|
|
- '/legend',
|
|
|
- array('input' => array('type' => 'radio', 'name' => 'data[Model][field]', 'value' => '1', 'id' => 'ModelField1')),
|
|
|
- array('label' => array('for' => 'ModelField1')),
|
|
|
- 'Yes',
|
|
|
- '/label',
|
|
|
- array('input' => array('type' => 'radio', 'name' => 'data[Model][field]', 'value' => '0', 'id' => 'ModelField0', 'checked' => 'checked')),
|
|
|
- array('label' => array('for' => 'ModelField0')),
|
|
|
- 'No',
|
|
|
- '/label',
|
|
|
- '/fieldset'
|
|
|
- );
|
|
|
- $this->assertTags($result, $expected);
|
|
|
-
|
|
|
- $result = $this->Form->radio('Model.field', array('1' => 'Yes', '0' => 'No'), array('value' => null));
|
|
|
- $expected = array(
|
|
|
- 'fieldset' => array(),
|
|
|
- 'legend' => array(),
|
|
|
- 'Field',
|
|
|
- '/legend',
|
|
|
- 'input' => array('type' => 'hidden', 'name' => 'data[Model][field]', 'value' => '', 'id' => 'ModelField_'),
|
|
|
- array('input' => array('type' => 'radio', 'name' => 'data[Model][field]', 'value' => '1', 'id' => 'ModelField1')),
|
|
|
- array('label' => array('for' => 'ModelField1')),
|
|
|
- 'Yes',
|
|
|
- '/label',
|
|
|
- array('input' => array('type' => 'radio', 'name' => 'data[Model][field]', 'value' => '0', 'id' => 'ModelField0')),
|
|
|
- array('label' => array('for' => 'ModelField0')),
|
|
|
- 'No',
|
|
|
- '/label',
|
|
|
- '/fieldset'
|
|
|
- );
|
|
|
- $this->assertTags($result, $expected);
|
|
|
-
|
|
|
- $result = $this->Form->radio('Model.field', array('1' => 'Yes', '0' => 'No'));
|
|
|
- $expected = array(
|
|
|
- 'fieldset' => array(),
|
|
|
- 'legend' => array(),
|
|
|
- 'Field',
|
|
|
- '/legend',
|
|
|
- 'input' => array('type' => 'hidden', 'name' => 'data[Model][field]', 'value' => '', 'id' => 'ModelField_'),
|
|
|
- array('input' => array('type' => 'radio', 'name' => 'data[Model][field]', 'value' => '1', 'id' => 'ModelField1')),
|
|
|
- array('label' => array('for' => 'ModelField1')),
|
|
|
- 'Yes',
|
|
|
- '/label',
|
|
|
- array('input' => array('type' => 'radio', 'name' => 'data[Model][field]', 'value' => '0', 'id' => 'ModelField0')),
|
|
|
- array('label' => array('for' => 'ModelField0')),
|
|
|
- 'No',
|
|
|
- '/label',
|
|
|
- '/fieldset'
|
|
|
- );
|
|
|
- $this->assertTags($result, $expected);
|
|
|
-
|
|
|
$result = $this->Form->input('Newsletter.subscribe', array('legend' => 'Legend title', 'type' => 'radio', 'options' => array('0' => 'Unsubscribe', '1' => 'Subscribe')));
|
|
|
$expected = array(
|
|
|
'div' => array('class' => 'input radio'),
|
|
|
@@ -3446,6 +3372,59 @@ class FormHelperTest extends CakeTestCase {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * Test that radios with a 0 value are selected under the correct conditions.
|
|
|
+ *
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public function testRadioOptionWithZeroValue() {
|
|
|
+ $expected = array(
|
|
|
+ 'fieldset' => array(),
|
|
|
+ 'legend' => array(),
|
|
|
+ 'Field',
|
|
|
+ '/legend',
|
|
|
+ array('input' => array('type' => 'radio', 'name' => 'data[Model][field]', 'value' => '1', 'id' => 'ModelField1')),
|
|
|
+ array('label' => array('for' => 'ModelField1')),
|
|
|
+ 'Yes',
|
|
|
+ '/label',
|
|
|
+ array('input' => array('type' => 'radio', 'name' => 'data[Model][field]', 'value' => '0', 'id' => 'ModelField0', 'checked' => 'checked')),
|
|
|
+ array('label' => array('for' => 'ModelField0')),
|
|
|
+ 'No',
|
|
|
+ '/label',
|
|
|
+ '/fieldset'
|
|
|
+ );
|
|
|
+ $result = $this->Form->radio('Model.field', array('1' => 'Yes', '0' => 'No'), array('value' => '0'));
|
|
|
+ $this->assertTags($result, $expected);
|
|
|
+
|
|
|
+ $result = $this->Form->radio('Model.field', array('1' => 'Yes', '0' => 'No'), array('value' => 0));
|
|
|
+ $this->assertTags($result, $expected);
|
|
|
+
|
|
|
+ $expected = array(
|
|
|
+ 'fieldset' => array(),
|
|
|
+ 'legend' => array(),
|
|
|
+ 'Field',
|
|
|
+ '/legend',
|
|
|
+ 'input' => array('type' => 'hidden', 'name' => 'data[Model][field]', 'value' => '', 'id' => 'ModelField_'),
|
|
|
+ array('input' => array('type' => 'radio', 'name' => 'data[Model][field]', 'value' => '1', 'id' => 'ModelField1')),
|
|
|
+ array('label' => array('for' => 'ModelField1')),
|
|
|
+ 'Yes',
|
|
|
+ '/label',
|
|
|
+ array('input' => array('type' => 'radio', 'name' => 'data[Model][field]', 'value' => '0', 'id' => 'ModelField0')),
|
|
|
+ array('label' => array('for' => 'ModelField0')),
|
|
|
+ 'No',
|
|
|
+ '/label',
|
|
|
+ '/fieldset'
|
|
|
+ );
|
|
|
+ $result = $this->Form->radio('Model.field', array('1' => 'Yes', '0' => 'No'), array('value' => null));
|
|
|
+ $this->assertTags($result, $expected);
|
|
|
+
|
|
|
+ $result = $this->Form->radio('Model.field', array('1' => 'Yes', '0' => 'No'), array('value' => ''));
|
|
|
+ $this->assertTags($result, $expected);
|
|
|
+
|
|
|
+ $result = $this->Form->radio('Model.field', array('1' => 'Yes', '0' => 'No'));
|
|
|
+ $this->assertTags($result, $expected);
|
|
|
+ }
|
|
|
+
|
|
|
+/**
|
|
|
* test disabled radio options
|
|
|
*
|
|
|
* @return void
|
|
|
@@ -3454,7 +3433,7 @@ class FormHelperTest extends CakeTestCase {
|
|
|
$result = $this->Form->radio(
|
|
|
'Model.field',
|
|
|
array('option A', 'option B'),
|
|
|
- array('disabled' => array('option A'), 'value' => 'option A')
|
|
|
+ array('disabled' => array('option A'), 'value' => '0')
|
|
|
);
|
|
|
$expected = array(
|
|
|
'fieldset' => array(),
|
|
|
@@ -3476,7 +3455,7 @@ class FormHelperTest extends CakeTestCase {
|
|
|
$result = $this->Form->radio(
|
|
|
'Model.field',
|
|
|
array('option A', 'option B'),
|
|
|
- array('disabled' => true, 'value' => 'option A')
|
|
|
+ array('disabled' => true, 'value' => '0')
|
|
|
);
|
|
|
$expected = array(
|
|
|
'fieldset' => array(),
|
|
|
@@ -3498,7 +3477,7 @@ class FormHelperTest extends CakeTestCase {
|
|
|
$result = $this->Form->radio(
|
|
|
'Model.field',
|
|
|
array('option A', 'option B'),
|
|
|
- array('disabled' => 'disabled', 'value' => 'option A')
|
|
|
+ array('disabled' => 'disabled', 'value' => '0')
|
|
|
);
|
|
|
$expected = array(
|
|
|
'fieldset' => array(),
|