From: Antoine Musso Date: Mon, 4 Jul 2011 19:51:35 +0000 (+0000) Subject: tests for Html::testExpandAttributes() X-Git-Tag: 1.31.0-rc.0~29081 X-Git-Url: http://git.cyclocoop.org/%24dirpuce/puce%24spip_lang_rtl.gif?a=commitdiff_plain;h=2801589462ad8056d326b3fe627afc872750be8b;p=lhc%2Fweb%2Fwiklou.git tests for Html::testExpandAttributes() FIXME: seems a code duplication of Xml::expandAttributes() follow up r81571 (skip attributes with null value) --- diff --git a/tests/phpunit/includes/HtmlTest.php b/tests/phpunit/includes/HtmlTest.php new file mode 100644 index 0000000000..96bb180392 --- /dev/null +++ b/tests/phpunit/includes/HtmlTest.php @@ -0,0 +1,90 @@ +getCode(); + } + + public function testExpandAttributesSkipsNullAndFalse() { + + ### EMPTY ######## + $this->AssertEmpty( + Html::expandAttributes( array( 'foo'=>null) ), + 'skip keys with null value' + ); + $this->AssertEmpty( + Html::expandAttributes( array( 'foo'=>false) ), + 'skip keys with false value' + ); + $this->AssertNotEmpty( + Html::expandAttributes( array( 'foo'=>'') ), + 'keep keys with an empty string' + ); + } + + public function testExpandAttributesForBooleans() { + $this->AssertEquals( + '', + Html::expandAttributes( array( 'selected'=>false) ), + 'Boolean attributes do not generates output when value is false' + ); + $this->AssertEquals( + '', + Html::expandAttributes( array( 'selected'=>null) ), + 'Boolean attributes do not generates output when value is null' + ); + + ### FIXME: maybe they should just output 'selected' + $this->AssertEquals( + ' selected=""', + Html::expandAttributes( array( 'selected'=>true ) ), + 'Boolean attributes skip value output' + ); + $this->AssertEquals( + ' selected=""', + Html::expandAttributes( array( 'selected' ) ), + 'Boolean attributes (ex: selected) do not need a value' + ); + } + + /** + * Test for Html::expandAttributes() + * Please note it output a string prefixed with a space! + */ + public function testExpandAttributesVariousExpansions() { + ### NOT EMPTY #### + $this->AssertEquals( + ' empty_string=""', + Html::expandAttributes( array( 'empty_string'=>'') ), + 'Value with an empty string' + ); + $this->AssertEquals( + ' key="value"', + Html::expandAttributes( array( 'key'=>'value') ), + 'Value is a string' + ); + $this->AssertEquals( + ' one="1"', + Html::expandAttributes( array( 'one'=>1) ), + 'Value is a numeric one' + ); + $this->AssertEquals( + ' zero="0"', + Html::expandAttributes( array( 'zero'=>0) ), + 'Value is a numeric zero' + ); + } +}