Tests for XmlSelect::addOption()
authorAntoine Musso <hashar@users.mediawiki.org>
Sat, 5 Feb 2011 23:41:29 +0000 (23:41 +0000)
committerAntoine Musso <hashar@users.mediawiki.org>
Sat, 5 Feb 2011 23:41:29 +0000 (23:41 +0000)
PHPUnit seems to only accept one class per test file. This patch move the
XmlSelect class to a new file.

It also add some assertions for XmlSelect::addOption(). Please review them
carefully! Although the assertions are fine:
  OK (5 tests, 5 assertions)

I am not sure they are the expected behaviour.

tests/phpunit/includes/XmlSelectTest.php [new file with mode: 0644]
tests/phpunit/includes/XmlTest.php

diff --git a/tests/phpunit/includes/XmlSelectTest.php b/tests/phpunit/includes/XmlSelectTest.php
new file mode 100644 (file)
index 0000000..a4b0f8f
--- /dev/null
@@ -0,0 +1,40 @@
+<?php
+
+// TODO
+class XmlSelectTest extends MediaWikiTestCase {
+       protected $select;
+
+       protected function setUp() {
+               $this->select = new XmlSelect();
+       }
+       protected function tearDown() {
+               $this->select = null;
+       }
+
+       ### START OF TESTS ###
+
+       public function testConstructWithoutParameters() {
+               $this->assertEquals( '<select></select>', $this->select->getHTML() );
+       }
+
+       # Begin XmlSelect::addOption() similar to Xml::option
+       public function testAddOption() {
+               $this->select->addOption( 'foo' );
+               $this->assertEquals( '<select><option value="foo">foo</option></select>', $this->select->getHTML() );
+       }
+
+       public function testAddOptionWithDefault() {
+               $this->select->addOption( 'foo', true );
+               $this->assertEquals( '<select><option value="1">foo</option></select>', $this->select->getHTML() );
+       }
+       public function testAddOptionWithFalse() {
+               $this->select->addOption( 'foo', false );
+               $this->assertEquals( '<select><option value="foo">foo</option></select>', $this->select->getHTML() );
+       }
+       public function testAddOptionWithValueZero() {
+               $this->select->addOption( 'foo', 0 );
+               $this->assertEquals( '<select><option value="0">foo</option></select>', $this->select->getHTML() );
+       }
+       # End XmlSelect::addOption() similar to Xml::option
+
+}
index e2f59ab..4f38a37 100644 (file)
@@ -173,7 +173,3 @@ class XmlTest extends MediaWikiTestCase {
                );
        }
 }
-
-// TODO
-class XmlSelectTest extends MediaWikiTestCase {
-}