diff options
Diffstat (limited to 'tests/phpunit/includes/XmlSelectTest.php')
-rw-r--r-- | tests/phpunit/includes/XmlSelectTest.php | 173 |
1 files changed, 0 insertions, 173 deletions
diff --git a/tests/phpunit/includes/XmlSelectTest.php b/tests/phpunit/includes/XmlSelectTest.php deleted file mode 100644 index 56d28b54..00000000 --- a/tests/phpunit/includes/XmlSelectTest.php +++ /dev/null @@ -1,173 +0,0 @@ -<?php - -/** - * @group Xml - */ -class XmlSelectTest extends MediaWikiTestCase { - - /** - * @var XmlSelect - */ - protected $select; - - protected function setUp() { - parent::setUp(); - $this->setMwGlobals( array( - 'wgWellFormedXml' => true, - ) ); - $this->select = new XmlSelect(); - } - - protected function tearDown() { - parent::tearDown(); - $this->select = null; - } - - /** - * @covers XmlSelect::__construct - */ - public function testConstructWithoutParameters() { - $this->assertEquals( '<select></select>', $this->select->getHTML() ); - } - - /** - * Parameters are $name (false), $id (false), $default (false) - * @dataProvider provideConstructionParameters - * @covers XmlSelect::__construct - */ - public function testConstructParameters( $name, $id, $default, $expected ) { - $this->select = new XmlSelect( $name, $id, $default ); - $this->assertEquals( $expected, $this->select->getHTML() ); - } - - /** - * Provide parameters for testConstructParameters() which use three - * parameters: - * - $name (default: false) - * - $id (default: false) - * - $default (default: false) - * Provides a fourth parameters representing the expected HTML output - */ - public static function provideConstructionParameters() { - return array( - /** - * Values are set following a 3-bit Gray code where two successive - * values differ by only one value. - * See http://en.wikipedia.org/wiki/Gray_code - */ - # $name $id $default - array( false, false, false, '<select></select>' ), - array( false, false, 'foo', '<select></select>' ), - array( false, 'id', 'foo', '<select id="id"></select>' ), - array( false, 'id', false, '<select id="id"></select>' ), - array( 'name', 'id', false, '<select name="name" id="id"></select>' ), - array( 'name', 'id', 'foo', '<select name="name" id="id"></select>' ), - array( 'name', false, 'foo', '<select name="name"></select>' ), - array( 'name', false, false, '<select name="name"></select>' ), - ); - } - - /** - * @covers XmlSelect::addOption - */ - public function testAddOption() { - $this->select->addOption( 'foo' ); - $this->assertEquals( '<select><option value="foo">foo</option></select>', $this->select->getHTML() ); - } - - /** - * @covers XmlSelect::addOption - */ - public function testAddOptionWithDefault() { - $this->select->addOption( 'foo', true ); - $this->assertEquals( '<select><option value="1">foo</option></select>', $this->select->getHTML() ); - } - - /** - * @covers XmlSelect::addOption - */ - public function testAddOptionWithFalse() { - $this->select->addOption( 'foo', false ); - $this->assertEquals( '<select><option value="foo">foo</option></select>', $this->select->getHTML() ); - } - - /** - * @covers XmlSelect::addOption - */ - public function testAddOptionWithValueZero() { - $this->select->addOption( 'foo', 0 ); - $this->assertEquals( '<select><option value="0">foo</option></select>', $this->select->getHTML() ); - } - - /** - * @covers XmlSelect::setDefault - */ - public function testSetDefault() { - $this->select->setDefault( 'bar1' ); - $this->select->addOption( 'foo1' ); - $this->select->addOption( 'bar1' ); - $this->select->addOption( 'foo2' ); - $this->assertEquals( - '<select><option value="foo1">foo1</option>' . "\n" . - '<option value="bar1" selected="">bar1</option>' . "\n" . - '<option value="foo2">foo2</option></select>', $this->select->getHTML() ); - } - - /** - * Adding default later on should set the correct selection or - * raise an exception. - * To handle this, we need to render the options in getHtml() - * @covers XmlSelect::setDefault - */ - public function testSetDefaultAfterAddingOptions() { - $this->select->addOption( 'foo1' ); - $this->select->addOption( 'bar1' ); - $this->select->addOption( 'foo2' ); - $this->select->setDefault( 'bar1' ); # setting default after adding options - $this->assertEquals( - '<select><option value="foo1">foo1</option>' . "\n" . - '<option value="bar1" selected="">bar1</option>' . "\n" . - '<option value="foo2">foo2</option></select>', $this->select->getHTML() ); - } - - /** - * @covers XmlSelect::setAttribute - * @covers XmlSelect::getAttribute - */ - public function testGetAttributes() { - # create some attributes - $this->select->setAttribute( 'dummy', 0x777 ); - $this->select->setAttribute( 'string', 'euro €' ); - $this->select->setAttribute( 1911, 'razor' ); - - # verify we can retrieve them - $this->assertEquals( - $this->select->getAttribute( 'dummy' ), - 0x777 - ); - $this->assertEquals( - $this->select->getAttribute( 'string' ), - 'euro €' - ); - $this->assertEquals( - $this->select->getAttribute( 1911 ), - 'razor' - ); - - # inexistant keys should give us 'null' - $this->assertEquals( - $this->select->getAttribute( 'I DO NOT EXIT' ), - null - ); - - # verify string / integer - $this->assertEquals( - $this->select->getAttribute( '1911' ), - 'razor' - ); - $this->assertEquals( - $this->select->getAttribute( 'dummy' ), - 0x777 - ); - } -} |