Browse Source

Updated tests for HtmlHelper::textarea()

tags/2.0.11
SilverFire - Dmitry Naumenko 8 years ago
parent
commit
63e650952b
  1. 1
      framework/helpers/BaseHtml.php
  2. 41
      tests/framework/helpers/HtmlTest.php

1
framework/helpers/BaseHtml.php

@ -670,7 +670,6 @@ class BaseHtml
public static function textarea($name, $value = '', $options = []) public static function textarea($name, $value = '', $options = [])
{ {
$options['name'] = $name; $options['name'] = $name;
// Get value, then remove from array - not needed for `renderTagAttributes` called inside the `tag` method
$doubleEncode = ArrayHelper::remove($options, 'doubleEncode', true); $doubleEncode = ArrayHelper::remove($options, 'doubleEncode', true);
return static::tag('textarea', static::encode($value, $doubleEncode), $options); return static::tag('textarea', static::encode($value, $doubleEncode), $options);
} }

41
tests/framework/helpers/HtmlTest.php

@ -213,10 +213,45 @@ class HtmlTest extends TestCase
$this->assertEquals('<input type="file" class="t" name="test" value="value">', Html::fileInput('test', 'value', ['class' => 't'])); $this->assertEquals('<input type="file" class="t" name="test" value="value">', Html::fileInput('test', 'value', ['class' => 't']));
} }
public function testTextarea() /**
* @return array
*/
public function textareaDataProvider()
{
return [
[
'<textarea name="test"></textarea>',
'test',
null,
[]
],
[
'<textarea class="t" name="test">value&lt;&gt;</textarea>',
'test',
'value<>',
['class' => 't']
],
[
'<textarea name="test">value&amp;lt;&amp;gt;</textarea>',
'test',
'value&lt;&gt;',
[]
],
[
'<textarea name="test">value&lt;&gt;</textarea>',
'test',
'value&lt;&gt;',
['doubleEncode' => false]
],
];
}
/**
* @dataProvider textareaDataProvider
*/
public function testTextarea($expected, $name, $value, $options)
{ {
$this->assertEquals('<textarea name="test"></textarea>', Html::textarea('test')); $this->assertEquals($expected, Html::textarea($name, $value, $options));
$this->assertEquals('<textarea class="t" name="test">value&lt;&gt;</textarea>', Html::textarea('test', 'value<>', ['class' => 't']));
} }
public function testRadio() public function testRadio()

Loading…
Cancel
Save