Making empty string create empty submit buttons. This applies to both Form->submit() and Form->end(). Tests added. Fixes #1569

This commit is contained in:
mark_story 2011-03-02 20:27:02 -05:00
parent e9011badb5
commit 197c9bf912
2 changed files with 27 additions and 5 deletions

View file

@ -363,10 +363,6 @@ class FormHelper extends AppHelper {
unset($options['label']);
}
$submitOptions = $options;
if (!$submit) {
$submit = __('Submit', true);
}
}
$out .= $this->submit($submit, $submitOptions);
}
@ -1309,7 +1305,7 @@ class FormHelper extends AppHelper {
* @link http://book.cakephp.org/view/1431/submit
*/
function submit($caption = null, $options = array()) {
if (!$caption) {
if (!is_string($caption) && empty($caption)) {
$caption = __('Submit', true);
}
$out = null;

View file

@ -5284,6 +5284,14 @@ class FormHelperTest extends CakeTestCase {
* @return void
*/
function testSubmitButton() {
$result = $this->Form->submit('');
$expected = array(
'div' => array('class' => 'submit'),
'input' => array('type' => 'submit', 'value' => ''),
'/div'
);
$this->assertTags($result, $expected);
$result = $this->Form->submit('Test Submit');
$expected = array(
'div' => array('class' => 'submit'),
@ -6333,6 +6341,24 @@ class FormHelperTest extends CakeTestCase {
function testFormEnd() {
$this->assertEqual($this->Form->end(), '</form>');
$result = $this->Form->end('');
$expected = array(
'div' => array('class' => 'submit'),
'input' => array('type' => 'submit', 'value' => ''),
'/div',
'/form'
);
$this->assertTags($result, $expected);
$result = $this->Form->end(array('label' => ''));
$expected = array(
'div' => array('class' => 'submit'),
'input' => array('type' => 'submit', 'value' => ''),
'/div',
'/form'
);
$this->assertTags($result, $expected);
$result = $this->Form->end('save');
$expected = array(
'div' => array('class' => 'submit'),