Fix #19098: Add yii\helper\BaseHtml::$normalizeClassAttribute to fix duplicate classes

This commit is contained in:
Anton
2021-12-27 21:44:48 +03:00
committed by GitHub
parent 02fe7f42c8
commit 6fb16bc30f
3 changed files with 19 additions and 4 deletions

View File

@ -1082,12 +1082,14 @@ EOD;
$this->assertEqualsWithoutLE($expected, Html::renderSelectOptions(['1.10'], $data, $attributes));
}
public function testRenderAttributes()
public function testRenderTagAttributes()
{
$this->assertEquals('', Html::renderTagAttributes([]));
$this->assertEquals(' name="test" value="1&lt;&gt;"', Html::renderTagAttributes(['name' => 'test', 'empty' => null, 'value' => '1<>']));
$this->assertEquals(' checked disabled', Html::renderTagAttributes(['checked' => true, 'disabled' => true, 'hidden' => false]));
$this->assertEquals(' class="first second"', Html::renderTagAttributes(['class' => ['first', 'second']]));
Html::$normalizeClassAttribute = true;
$this->assertEquals(' class="first second"', Html::renderTagAttributes(['class' => ['first second', 'first']]));
$this->assertEquals('', Html::renderTagAttributes(['class' => []]));
$this->assertEquals(' style="width: 100px; height: 200px;"', Html::renderTagAttributes(['style' => ['width' => '100px', 'height' => '200px']]));
$this->assertEquals('', Html::renderTagAttributes(['style' => []]));