Merge "Clean up language test cases objection construction"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 27 Sep 2013 22:08:23 +0000 (22:08 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 27 Sep 2013 22:08:23 +0000 (22:08 +0000)
tests/phpunit/languages/LanguageClassesTestCase.php

index 4274335..03bb898 100644 (file)
@@ -3,16 +3,7 @@
  * Helping class to run tests using a clean language instance.
  *
  * This is intended for the MediaWiki language class tests under
- * tests/phpunit/languages. You simply need to extends this test
- * and set it up with a language code using setUpBeforeClass:
- *
- * @par Setting up a language:
- * @code
- * class LanguageFooTest extends LanguageClassesTestCase {
- *   public static function setUpBeforeClass() {
- *     self::setLang( 'Foo' );
- *   }
- * @endcode
+ * tests/phpunit/languages.
  *
  * Before each tests, a new language object is build which you
  * can retrieve in your test using the $this->getLang() method:
  * @endcode
  */
 abstract class LanguageClassesTestCase extends MediaWikiTestCase {
-
-       /**
-        * Regex used to find out the language code out of the class name
-        * used by setUpBeforeClass
-        */
-       private static $reExtractLangFromClass = '/Language(.*)Test/';
-
-       /**
-        * Hold the language code we are going to use. This is extracted
-        * directly from the extending class.
-        */
-       private static $LanguageClassCode;
-
        /**
         * Internal language object
         *
@@ -57,9 +35,16 @@ abstract class LanguageClassesTestCase extends MediaWikiTestCase {
         */
        private $languageObject;
 
-       public static function setUpBeforeClass() {
-               $found = preg_match( self::$reExtractLangFromClass,
-                       get_called_class(), $m );
+       protected function getLang() {
+               return $this->languageObject;
+       }
+
+       /**
+        * Create a new language object before each test.
+        */
+       protected function setUp() {
+               parent::setUp();
+               $found = preg_match( '/Language(.+)Test/', get_called_class(), $m );
                if ( $found ) {
                        # Normalize language code since classes uses underscores
                        $m[1] = str_replace( '_', '-', $m[1] );
@@ -72,20 +57,7 @@ abstract class LanguageClassesTestCase extends MediaWikiTestCase {
                        );
                }
                // TODO: validate $m[1] which should be a valid language code
-               self::$LanguageClassCode = $m[1];
-       }
-
-       protected function getLang() {
-               return $this->languageObject;
-       }
-
-       /**
-        * Create a new language object before each test.
-        */
-       protected function setUp() {
-               parent::setUp();
-               $this->languageObject = Language::factory(
-                       self::$LanguageClassCode );
+               $this->languageObject = Language::factory( $m[1] );
        }
 
        /**