mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 11:28:25 +00:00
Escaping value for FormHelper::textarea() and adding some tests, fixes #2921
git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@5778 3807eeeb-6ff5-0310-8944-8be069107fe0
This commit is contained in:
parent
ae3d082dd6
commit
1545b730ae
2 changed files with 20 additions and 1 deletions
|
@ -836,9 +836,12 @@ class FormHelper extends AppHelper {
|
|||
|
||||
if (array_key_exists('value', $options)) {
|
||||
$value = $options['value'];
|
||||
if (!array_key_exists('escape', $options) || $options['escape'] !== false) {
|
||||
$value = h($value);
|
||||
}
|
||||
unset($options['value']);
|
||||
}
|
||||
return $this->output(sprintf($this->Html->tags['textarea'], $options['name'], $this->_parseAttributes($options, array('type', 'name'), ' '), $value));
|
||||
return $this->output(sprintf($this->Html->tags['textarea'], $options['name'], $this->_parseAttributes($options, array('type', 'name'), null, ' '), $value));
|
||||
}
|
||||
/**
|
||||
* Creates a hidden input field.
|
||||
|
|
|
@ -512,6 +512,14 @@ class FormHelperTest extends CakeTestCase {
|
|||
$expected = '<input name="data[Model][field]" type="text" id="theID" value="" />';
|
||||
$this->assertEqual($result, $expected);
|
||||
|
||||
$this->Form->data['Model']['text'] = 'test <strong>HTML</strong> values';
|
||||
$result = $this->Form->text('Model/text');
|
||||
$this->assertPattern('/^<input[^<>]+type="text"[^<>]+\/>$/', $result);
|
||||
$this->assertPattern('/^<input[^<>]+name="data\[Model\]\[text\]"[^<>]+\/>$/', $result);
|
||||
$this->assertPattern('/^<input[^<>]+value="test <strong>HTML<\/strong> values"[^<>]+\/>$/', $result);
|
||||
$this->assertNoPattern('/^<input[^<>]+name="[^<>]+name="[^<>]+\/>$/', $result);
|
||||
$this->assertNoPattern('/<input[^<>]+[^type|name|id|value|class]=[^<>]*>/', $result);
|
||||
|
||||
$this->Form->validationErrors['Model']['text'] = 1;
|
||||
$this->Form->data['Model']['text'] = 'test';
|
||||
$result = $this->Form->text('Model/text', array('id' => 'theID'));
|
||||
|
@ -876,6 +884,14 @@ class FormHelperTest extends CakeTestCase {
|
|||
|
||||
$result = $this->Form->textarea('Model/tmp');
|
||||
$this->assertPattern('/^<textarea[^<>]+name="data\[Model\]\[tmp\]"[^<>]+><\/textarea>/', $result);
|
||||
|
||||
$this->Form->data = array('Model' => array('field' => 'some <strong>test</strong> data with <a href="#">HTML</a> chars'));
|
||||
$result = $this->Form->textarea('Model.field');
|
||||
$this->assertPattern('/^<textarea[^<>]+name="data\[Model\]\[field\]"[^<>]+id="ModelField"/', $result);
|
||||
$this->assertPattern('/^<textarea[^<>]+>some <strong>test<\/strong> data with <a href="#">HTML<\/a> chars<\/textarea>$/', $result);
|
||||
$this->assertNoPattern('/^<textarea[^<>]+value="[^<>]+>/', $result);
|
||||
$this->assertNoPattern('/^<textarea[^<>]+name="[^<>]+name="[^<>]+>$/', $result);
|
||||
$this->assertNoPattern('/<textarea[^<>]+[^name|id]=[^<>]*>/', $result);
|
||||
}
|
||||
|
||||
function testHiddenField() {
|
||||
|
|
Loading…
Reference in a new issue