X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2FXmlTest.php;h=c5572b46c6c79a68fa255152bfc80d47ae39261f;hb=86f4025ceafaaa56231a94ac3878a4a665e6f825;hp=6c059ec5fd0af73d3c68e0d592afd6714e9ae1a9;hpb=4a1c7381d2a3d1a9632de141f20af8f19408c07f;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/XmlTest.php b/tests/phpunit/includes/XmlTest.php index 6c059ec5fd..c5572b46c6 100644 --- a/tests/phpunit/includes/XmlTest.php +++ b/tests/phpunit/includes/XmlTest.php @@ -403,12 +403,15 @@ class XmlTest extends MediaWikiTestCase { */ public function testListDropDown() { $this->assertEquals( - '' . + '' . "\n" . + '' . + '' . "\n" . + '' . "\n" . + '' . "\n" . + '' . + '' . "\n" . + '' . '', Xml::listDropDown( // name @@ -426,4 +429,103 @@ class XmlTest extends MediaWikiTestCase { ) ); } + + /** + * @covers Xml::listDropDownOptions + */ + public function testListDropDownOptions() { + $this->assertEquals( + [ + 'other reasons' => 'other', + 'Foo' => [ + 'Foo 1' => 'Foo 1', + 'Example' => 'Example', + ], + 'Bar' => [ + 'Bar 1' => 'Bar 1', + ], + ], + Xml::listDropDownOptions( + "* Foo\n** Foo 1\n** Example\n* Bar\n** Bar 1", + [ 'other' => 'other reasons' ] + ) + ); + } + + /** + * @covers Xml::listDropDownOptionsOoui + */ + public function testListDropDownOptionsOoui() { + $this->assertEquals( + [ + [ 'data' => 'other', 'label' => 'other reasons' ], + [ 'optgroup' => 'Foo' ], + [ 'data' => 'Foo 1', 'label' => 'Foo 1' ], + [ 'data' => 'Example', 'label' => 'Example' ], + [ 'optgroup' => 'Bar' ], + [ 'data' => 'Bar 1', 'label' => 'Bar 1' ], + ], + Xml::listDropDownOptionsOoui( [ + 'other reasons' => 'other', + 'Foo' => [ + 'Foo 1' => 'Foo 1', + 'Example' => 'Example', + ], + 'Bar' => [ + 'Bar 1' => 'Bar 1', + ], + ] ) + ); + } + + /** + * @covers Xml::fieldset + */ + public function testFieldset() { + $this->assertEquals( + "
\n", + Xml::fieldset(), + 'Opening tag' + ); + $this->assertEquals( + "
\n", + Xml::fieldset( false ), + 'Opening tag (false means no legend)' + ); + $this->assertEquals( + "
\n", + Xml::fieldset( '' ), + 'Opening tag (empty string also means no legend)' + ); + $this->assertEquals( + "
\nFoo\n", + Xml::fieldset( 'Foo' ), + 'Opening tag with legend' + ); + $this->assertEquals( + "
\nFoo\nBar\n
\n", + Xml::fieldset( 'Foo', 'Bar' ), + 'Entire element with legend' + ); + $this->assertEquals( + "
\nFoo\n", + Xml::fieldset( 'Foo', false ), + 'Opening tag with legend (false means no content and no closing tag)' + ); + $this->assertEquals( + "
\nFoo\n\n
\n", + Xml::fieldset( 'Foo', '' ), + 'Entire element with legend but no content (empty string generates a closing tag)' + ); + $this->assertEquals( + "
\nFoo\nBar\n
\n", + Xml::fieldset( 'Foo', 'Bar', [ 'class' => 'bar' ] ), + 'Opening tag with legend and attributes' + ); + $this->assertEquals( + "
\nFoo\n", + Xml::fieldset( 'Foo', false, [ 'class' => 'bar' ] ), + 'Entire element with legend and attributes' + ); + } }