tests: rm duplicate code in language classes
authorAntoine Musso <hashar@free.fr>
Tue, 23 Oct 2012 20:53:17 +0000 (22:53 +0200)
committerAntoine Musso <hashar@free.fr>
Mon, 29 Oct 2012 08:40:30 +0000 (09:40 +0100)
The language classes have been using the same setUp() tearDown() to
craft a new language object. I have abstracted that code in
LanguageClassesTestCase and made all the language test classes to extend
it. The language is interpolated directly from the class name and an
object for it can be retrieved with the getLang() method.

Change-Id: Ib931336ce219edabe2c72b7e9f04c976a500723e

50 files changed:
tests/TestsAutoLoader.php
tests/phpunit/languages/LanguageAmTest.php
tests/phpunit/languages/LanguageArTest.php
tests/phpunit/languages/LanguageBeTest.php
tests/phpunit/languages/LanguageBe_taraskTest.php
tests/phpunit/languages/LanguageBhTest.php
tests/phpunit/languages/LanguageBsTest.php
tests/phpunit/languages/LanguageClassesTestCase.php [new file with mode: 0644]
tests/phpunit/languages/LanguageCsTest.php
tests/phpunit/languages/LanguageCuTest.php
tests/phpunit/languages/LanguageCyTest.php
tests/phpunit/languages/LanguageDsbTest.php
tests/phpunit/languages/LanguageFrTest.php
tests/phpunit/languages/LanguageGaTest.php
tests/phpunit/languages/LanguageGdTest.php
tests/phpunit/languages/LanguageGvTest.php
tests/phpunit/languages/LanguageHeTest.php
tests/phpunit/languages/LanguageHiTest.php
tests/phpunit/languages/LanguageHrTest.php
tests/phpunit/languages/LanguageHsbTest.php
tests/phpunit/languages/LanguageHuTest.php
tests/phpunit/languages/LanguageHyTest.php
tests/phpunit/languages/LanguageKshTest.php
tests/phpunit/languages/LanguageLnTest.php
tests/phpunit/languages/LanguageLtTest.php
tests/phpunit/languages/LanguageLvTest.php
tests/phpunit/languages/LanguageMgTest.php
tests/phpunit/languages/LanguageMkTest.php
tests/phpunit/languages/LanguageMlTest.php
tests/phpunit/languages/LanguageMoTest.php
tests/phpunit/languages/LanguageMtTest.php
tests/phpunit/languages/LanguageNlTest.php
tests/phpunit/languages/LanguageNsoTest.php
tests/phpunit/languages/LanguagePlTest.php
tests/phpunit/languages/LanguageRoTest.php
tests/phpunit/languages/LanguageRuTest.php
tests/phpunit/languages/LanguageSeTest.php
tests/phpunit/languages/LanguageSgsTest.php
tests/phpunit/languages/LanguageShTest.php
tests/phpunit/languages/LanguageSkTest.php
tests/phpunit/languages/LanguageSlTest.php
tests/phpunit/languages/LanguageSmaTest.php
tests/phpunit/languages/LanguageSrTest.php
tests/phpunit/languages/LanguageTest.php
tests/phpunit/languages/LanguageTiTest.php
tests/phpunit/languages/LanguageTlTest.php
tests/phpunit/languages/LanguageTrTest.php
tests/phpunit/languages/LanguageUkTest.php
tests/phpunit/languages/LanguageUzTest.php
tests/phpunit/languages/LanguageWaTest.php

index 2fc8907..8ed24bb 100644 (file)
@@ -50,6 +50,9 @@ $wgAutoloadClasses += array(
        'DumpTestCase' => "$testFolder/phpunit/maintenance/DumpTestCase.php",
        'BackupDumper' => "$testFolder/../maintenance/backup.inc",
 
+       //language
+       'LanguageClassesTestCase' => "$testFolder/phpunit/languages/LanguageClassesTestCase.php",
+
        //Generic providers
        'MediaWikiProvide' => "$testFolder/phpunit/includes/Providers.php",
 );
index 2679088..16215c5 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/LanguageAm.php */
-class LanguageAmTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'Am' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageAmTest extends LanguageClassesTestCase {
 
        /** @dataProvider providePlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePlural() {
index 84507c5..17f7352 100644 (file)
@@ -5,19 +5,11 @@
  */
 
 /** Tests for MediaWiki languages/LanguageAr.php */
-class LanguageArTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'Ar' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageArTest extends LanguageClassesTestCase {
 
        function testFormatNum() {
-               $this->assertEquals( '١٬٢٣٤٬٥٦٧', $this->lang->formatNum( '1234567' ) );
-               $this->assertEquals( '-١٢٫٨٩', $this->lang->formatNum( -12.89 ) );
+               $this->assertEquals( '١٬٢٣٤٬٥٦٧', $this->getLang()->formatNum( '1234567' ) );
+               $this->assertEquals( '-١٢٫٨٩', $this->getLang()->formatNum( -12.89 ) );
        }
 
        /**
@@ -25,7 +17,7 @@ class LanguageArTest extends MediaWikiTestCase {
         * @dataProvider providerSprintfDate
         */
        function testSprintfDate( $format, $date, $expected ) {
-               $this->assertEquals( $expected, $this->lang->sprintfDate( $format, $date ) );
+               $this->assertEquals( $expected, $this->getLang()->sprintfDate( $format, $date ) );
        }
 
        function providerSprintfDate() {
@@ -55,7 +47,7 @@ class LanguageArTest extends MediaWikiTestCase {
        /** @dataProvider providePlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'zero', 'one', 'two', 'few', 'many', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
        function providePlural() {
                return array (
index 3135ca8..06ee240 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/LanguageBe.php */
-class LanguageBeTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'Be' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageBeTest extends LanguageClassesTestCase {
 
        /** @dataProvider providePlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'few', 'many', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePlural() {
index 11aacb6..ad0ef43 100644 (file)
@@ -1,36 +1,39 @@
 <?php
 
-class LanguageBeTaraskTest extends MediaWikiTestCase {
-       private $lang;
+class LanguageBe_taraskTest extends LanguageClassesTestCase {
 
-       protected function setUp() {
-               $this->lang = Language::factory( 'Be-tarask' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
+       /**
+        * Make sure the language code we are given is indeed
+        * be-tarask. This is to ensure LanguageClassesTestCase
+        * does not give us the wrong language.
+        */
+       function testBeTaraskTestsUsesBeTaraskCode() {
+               $this->assertEquals( 'be-tarask',
+                       $this->getLang()->getCode()
+               );
        }
 
        /** see bug 23156 & r64981 */
        function testSearchRightSingleQuotationMarkAsApostroph() {
                $this->assertEquals(
                        "'",
-                       $this->lang->normalizeForSearch( '’' ),
+                       $this->getLang()->normalizeForSearch( '’' ),
                        'bug 23156: U+2019 conversion to U+0027'
                );
        }
        /** see bug 23156 & r64981 */
        function testCommafy() {
-               $this->assertEquals( '1,234,567', $this->lang->commafy( '1234567' ) );
-               $this->assertEquals(    '12,345', $this->lang->commafy(   '12345' ) );
+               $this->assertEquals( '1,234,567', $this->getLang()->commafy( '1234567' ) );
+               $this->assertEquals(    '12,345', $this->getLang()->commafy(   '12345' ) );
        }
        /** see bug 23156 & r64981 */
        function testDoesNotCommafyFourDigitsNumber() {
-               $this->assertEquals(      '1234', $this->lang->commafy(    '1234' ) );
+               $this->assertEquals(      '1234', $this->getLang()->commafy(    '1234' ) );
        }
        /** @dataProvider providePluralFourForms */
        function testPluralFourForms( $result, $value ) {
                $forms =  array( 'one', 'few', 'many', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePluralFourForms() {
@@ -51,7 +54,7 @@ class LanguageBeTaraskTest extends MediaWikiTestCase {
        /** @dataProvider providePluralTwoForms */
        function testPluralTwoForms( $result, $value ) {
                $forms =  array( 'one', 'several' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
        function providePluralTwoForms() {
                return array (
index 00f4e13..5af7adb 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/LanguageBh.php */
-class LanguageBhTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'Bh' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageBhTest extends LanguageClassesTestCase {
 
        /** @dataProvider providePlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePlural() {
index 39391af..dd00428 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/LanguageBs.php */
-class LanguageBsTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'Bs' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageBsTest extends LanguageClassesTestCase {
 
        /** @dataProvider providePlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'few', 'many', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePlural() {
diff --git a/tests/phpunit/languages/LanguageClassesTestCase.php b/tests/phpunit/languages/LanguageClassesTestCase.php
new file mode 100644 (file)
index 0000000..4f0a37f
--- /dev/null
@@ -0,0 +1,100 @@
+<?php
+/**
+ * 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
+ *
+ * Before each tests, a new language object is build which you
+ * can retrieve in your test using the $this->getLang() method:
+ *
+ * @par Using the crafted language object:
+ * @code
+ * function testHasLanguageObject() {
+ *   $langObject = $this->getLang();
+ *   $this->assertInstanceOf( 'LanguageFoo',
+ *     $langObject
+ *   );
+ * }
+ * @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
+        *
+        * A new object is created before each tests thanks to PHPUnit
+        * setUp() method, it is deleted after each test too. To get
+        * this object you simply use the getLang method.
+        *
+        * You must have setup a language code first. See $LanguageClassCode
+        * @code
+        *  function testWeAreTheChampions() {
+        *    $this->getLang();  # language object
+        *  }
+        * @endcode
+        */
+       private $languageObject;
+
+       public static function setUpBeforeClass() {
+               $found = preg_match( self::$reExtractLangFromClass,
+                       get_called_class(), $m );
+               if ( $found ) {
+                       # Normalize language code since classes uses underscores
+                       $m[1] = str_replace( '_', '-', $m[1] );
+               } else {
+                       # Fallback to english language
+                       $m[1] = 'en';
+                       wfDebug(
+                               __METHOD__ . " could not extract a language name "
+                               . "out of " . get_called_class() . " failling back to 'en'\n"
+                       );
+               }
+               // 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 );
+       }
+
+       /**
+        * Delete the internal language object so each test start
+        * out with a fresh language instance.
+        */
+       protected function tearDown() {
+               unset( $this->languageObject );
+               parent::tearDown();
+       }
+
+}
index 862de52..72c9e79 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/Languagecs.php */
-class LanguageCsTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'cs' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageCsTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'few', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index 5d5d60c..95f8da7 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/LanguageCu.php */
-class LanguageCuTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'cu' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageCuTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'few', 'many', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index 406a943..de6ba5c 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageCy.php */
-class LanguageCyTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'cy' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageCyTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'zero', 'one', 'two', 'few', 'many', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index 516b9ee..8fb6024 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageDsb.php */
-class LanguageDsbTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'dsb' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageDsbTest extends LanguageClassesTestCase {
 
        /** @dataProvider providePlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'two', 'few', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePlural() {
index 0a29028..05de960 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageFr.php */
-class LanguageFrTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'fr' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageFrTest extends LanguageClassesTestCase {
 
        /** @dataProvider providePlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePlural() {
index 9535cb1..0a54592 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageGa.php */
-class LanguageGaTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'ga' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageGaTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'two', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index e6bfdd7..7831cd2 100644 (file)
@@ -6,21 +6,13 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageGd.php */
-class LanguageGdTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'gd' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageGdTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                // The CLDR ticket for this plural forms is not same as mw plural forms. See http://unicode.org/cldr/trac/ticket/2883
                $forms =  array( 'Form 1', 'Form 2', 'Form 3', 'Form 4', 'Form 5', 'Form 6' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
        function providerPlural() {
                return array (
index 18cf225..0edff59 100644 (file)
@@ -6,21 +6,13 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageGv.php */
-class LanguageGvTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'gv' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageGvTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                // This is not compatible with CLDR plural rules http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html#gv
                $forms =  array( 'Form 1', 'Form 2', 'Form 3', 'Form 4' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
        function providerPlural() {
                return array (
index 6205320..5ca2bc9 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageHe.php */
-class LanguageHeTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'he' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageHeTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPluralDual */
        function testPluralDual( $result, $value ) {
                $forms = array( 'one', 'two', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPluralDual() {
@@ -34,7 +26,7 @@ class LanguageHeTest extends MediaWikiTestCase {
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms = array( 'one', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index bb3b5fa..5a780a2 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/LanguageHi.php */
-class LanguageHiTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'Hi' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageHiTest extends LanguageClassesTestCase {
 
        /** @dataProvider providePlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePlural() {
index 6f0ca1b..748aaf4 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageHr.php */
-class LanguageHrTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'hr' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageHrTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'few', 'many', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index d336e81..2d90ef0 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageHsb.php */
-class LanguageHsbTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'hsb' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageHsbTest extends LanguageClassesTestCase {
 
        /** @dataProvider providePlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'two', 'few', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePlural() {
index 3181868..e01278b 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/LanguageHu.php */
-class LanguageHuTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'Hu' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageHuTest extends LanguageClassesTestCase {
 
        /** @dataProvider providePlural */
        function testPlural( $result, $value ) {
                $forms = array( 'one', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePlural() {
index 2885707..ea6e255 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/LanguageHy.php */
-class LanguageHyTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'hy' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageHyTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index 78ff445..e92d264 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageKsh.php */
-class LanguageKshTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'ksh' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageKshTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms =  array(  'one', 'other', 'zero' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index 60b4945..8853caa 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageLn.php */
-class LanguageLnTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'ln' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageLnTest extends LanguageClassesTestCase {
 
        /** @dataProvider providePlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePlural() {
index 821e028..485a090 100644 (file)
@@ -6,26 +6,18 @@
  */
 
 /** Tests for MediaWiki languages/LanguageLt.php */
-class LanguageLtTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'Lt' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageLtTest extends LanguageClassesTestCase {
 
        /** @dataProvider provideOneFewOtherCases */
        function testOneFewOtherPlural( $result, $value ) {
                $forms =  array( 'one', 'few', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
        
        /** @dataProvider provideOneFewCases */
        function testOneFewPlural( $result, $value ) {
                $forms =  array( 'one', 'few' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function provideOneFewOtherCases() {
index bb0dc6c..bf4f793 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageLv.php */
-class LanguageLvTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'lv' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageLvTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index d6ac643..d6d3de9 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageMg.php */
-class LanguageMgTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'mg' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageMgTest extends LanguageClassesTestCase {
 
        /** @dataProvider providePlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePlural() {
index 21a9e41..8cd84b8 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageMk.php */
-class LanguageMkTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'mk' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageMkTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
 
index 9af2389..b7f6182 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/LanguageMl.php */
-class LanguageMlTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'Ml' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageMlTest extends LanguageClassesTestCase {
 
        /** see bug 29495 */
        /** @dataProvider providerFormatNum*/
        function testFormatNum( $result, $value ) {
-               $this->assertEquals( $result,  $this->lang->formatNum( $value ) );
+               $this->assertEquals( $result,  $this->getLang()->formatNum( $value ) );
        }
 
        function providerFormatNum() {
index 4f208d9..491d8ac 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageMo.php */
-class LanguageMoTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'mo' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageMoTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'few', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index 4d25347..70cd93a 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageMt.php */
-class LanguageMtTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'mt' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageMtTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPluralAllForms */
        function testPluralAllForms( $result, $value ) {
                $forms = array( 'one', 'few', 'many', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPluralAllForms() {
@@ -46,7 +38,7 @@ class LanguageMtTest extends MediaWikiTestCase {
        /** @dataProvider providerPluralTwoForms */
        function testPluralTwoForms( $result, $value ) {
                $forms = array( 'one', 'many' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPluralTwoForms() {
index c8cfbb6..f783f2c 100644 (file)
@@ -6,23 +6,15 @@
  */
 
 /** Tests for MediaWiki languages/LanguageNl.php */
-class LanguageNlTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'Nl' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageNlTest extends LanguageClassesTestCase {
 
        function testFormatNum() {
-               $this->assertEquals( '1.234.567', $this->lang->formatNum( '1234567' ) );
-               $this->assertEquals( '12.345', $this->lang->formatNum( '12345' ) );
-               $this->assertEquals( '1', $this->lang->formatNum( '1' ) );
-               $this->assertEquals( '123', $this->lang->formatNum( '123' ) );
-               $this->assertEquals( '1.234', $this->lang->formatNum( '1234' ) );
-               $this->assertEquals( '12.345,56', $this->lang->formatNum( '12345.56' ) );
-               $this->assertEquals( ',1234556', $this->lang->formatNum( '.1234556' ) );
+               $this->assertEquals( '1.234.567', $this->getLang()->formatNum( '1234567' ) );
+               $this->assertEquals( '12.345', $this->getLang()->formatNum( '12345' ) );
+               $this->assertEquals( '1', $this->getLang()->formatNum( '1' ) );
+               $this->assertEquals( '123', $this->getLang()->formatNum( '123' ) );
+               $this->assertEquals( '1.234', $this->getLang()->formatNum( '1234' ) );
+               $this->assertEquals( '12.345,56', $this->getLang()->formatNum( '12345.56' ) );
+               $this->assertEquals( ',1234556', $this->getLang()->formatNum( '.1234556' ) );
        }
 }
index 1e70997..97146d3 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageNso.php */
-class LanguageNsoTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'nso' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageNsoTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms = array( 'one', 'many' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index a543640..00b7e9e 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguagePl.php */
-class LanguagePlTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'pl' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguagePlTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPluralFourForms */
        function testPluralFourForms( $result, $value ) {
                $forms = array( 'one', 'few', 'many' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPluralFourForms() {
@@ -46,7 +38,7 @@ class LanguagePlTest extends MediaWikiTestCase {
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms = array( 'one', 'many' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index 9bf01a4..61726bc 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageRo.php */
-class LanguageRoTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'ro' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageRoTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms =  array( 'one', 'few', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index 189a96c..f545a13 100644 (file)
@@ -7,20 +7,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageRu.php */
-class LanguageRuTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'ru' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageRuTest extends LanguageClassesTestCase {
 
        /** @dataProvider providePluralFourForms */
        function testPluralFourForms( $result, $value ) {
                $forms = array( 'one', 'few', 'many', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePluralFourForms() {
@@ -41,7 +33,7 @@ class LanguageRuTest extends MediaWikiTestCase {
        /** @dataProvider providePluralTwoForms */
        function testPluralTwoForms( $result, $value ) {
                $forms =  array( 'one', 'several' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
        function providePluralTwoForms() {
                return array (
index 51cfd2f..cf76353 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageSe.php */
-class LanguageSeTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'se' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageSeTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPluralThreeForms */
        function testPluralThreeForms( $result, $value ) {
                $forms = array( 'one', 'two', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPluralThreeForms() {
@@ -34,7 +26,7 @@ class LanguageSeTest extends MediaWikiTestCase {
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms = array( 'one', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index 62f2775..e2a56ca 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageSgs.php */
-class LanguageSgsTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'Sgs' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageSgsTest extends LanguageClassesTestCase {
 
        /** @dataProvider providePluralAllForms */
        function testPluralAllForms( $result, $value ) {
                $forms = array( 'one', 'few', 'many', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePluralAllForms() {
@@ -43,7 +35,7 @@ class LanguageSgsTest extends MediaWikiTestCase {
        /** @dataProvider providePluralTwoForms */
        function testPluralTwoForms( $result, $value ) {
                $forms =  array( 'one', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePluralTwoForms() {
index 1d8ae7c..25618c4 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageSh.php */
-class LanguageShTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'sh' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageShTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms = array( 'one', 'many' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index 25823cf..b50f7df 100644 (file)
@@ -7,20 +7,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageSk.php */
-class LanguageSkTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'sk' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageSkTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms = array( 'one', 'few', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index 76de0fc..bfb7c7e 100644 (file)
@@ -7,20 +7,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageSl.php */
-class LanguageSlTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'sl' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageSlTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms = array( 'one', 'two', 'few', 'other', 'zero' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index cf14477..85fa9fb 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageSma.php */
-class LanguageSmaTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'sma' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageSmaTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPluralThreeForms */
        function testPluralThreeForms( $result, $value ) {
                $forms = array( 'one', 'two', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPluralThreeForms() {
@@ -34,7 +26,7 @@ class LanguageSmaTest extends MediaWikiTestCase {
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms = array( 'one', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index 7be4589..c88115d 100644 (file)
 require_once dirname( __DIR__ ) . '/bootstrap.php';
 
 /** Tests for MediaWiki languages/LanguageSr.php */
-class LanguageSrTest extends MediaWikiTestCase {
-       /* Language object. Initialized before each test */
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'sr' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageSrTest extends LanguageClassesTestCase {
 
        ##### TESTS #######################################################
 
@@ -125,7 +116,7 @@ class LanguageSrTest extends MediaWikiTestCase {
        /** @dataProvider providePluralFourForms */
        function testPluralFourForms( $result, $value ) {
                $forms = array( 'one', 'few', 'many', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePluralFourForms() {
@@ -146,7 +137,7 @@ class LanguageSrTest extends MediaWikiTestCase {
        /** @dataProvider providePluralTwoForms */
        function testPluralTwoForms( $result, $value ) {
                $forms = array( 'one', 'several' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
        function providePluralTwoForms() {
                return array (
@@ -207,8 +198,7 @@ class LanguageSrTest extends MediaWikiTestCase {
 
        /** Wrapper for converter::convertTo() method*/
        function convertTo( $text, $variant ) {
-               return $this
-                       ->lang
+               return $this->getLang()
                        ->mConverter
                        ->convertTo(
                                $text, $variant
index d8ec2e9..c66df69 100644 (file)
@@ -1,23 +1,11 @@
 <?php
 
-class LanguageTest extends MediaWikiTestCase {
-
-       /**
-        * @var Language
-        */
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'en' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageTest extends LanguageClassesTestCase {
 
        function testLanguageConvertDoubleWidthToSingleWidth() {
                $this->assertEquals(
                        "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
-                       $this->lang->normalizeForSearch(
+                       $this->getLang()->normalizeForSearch(
                                "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
                        ),
                        'convertDoubleWidth() with the full alphabet and digits'
@@ -28,7 +16,7 @@ class LanguageTest extends MediaWikiTestCase {
         * @dataProvider provideFormattableTimes
         */
        function testFormatTimePeriod( $seconds, $format, $expected, $desc ) {
-               $this->assertEquals( $expected, $this->lang->formatTimePeriod( $seconds, $format ), $desc );
+               $this->assertEquals( $expected, $this->getLang()->formatTimePeriod( $seconds, $format ), $desc );
        }
 
        function provideFormattableTimes() {
@@ -220,31 +208,31 @@ class LanguageTest extends MediaWikiTestCase {
        function testTruncate() {
                $this->assertEquals(
                        "XXX",
-                       $this->lang->truncate( "1234567890", 0, 'XXX' ),
+                       $this->getLang()->truncate( "1234567890", 0, 'XXX' ),
                        'truncate prefix, len 0, small ellipsis'
                );
 
                $this->assertEquals(
                        "12345XXX",
-                       $this->lang->truncate( "1234567890", 8, 'XXX' ),
+                       $this->getLang()->truncate( "1234567890", 8, 'XXX' ),
                        'truncate prefix, small ellipsis'
                );
 
                $this->assertEquals(
                        "123456789",
-                       $this->lang->truncate( "123456789", 5, 'XXXXXXXXXXXXXXX' ),
+                       $this->getLang()->truncate( "123456789", 5, 'XXXXXXXXXXXXXXX' ),
                        'truncate prefix, large ellipsis'
                );
 
                $this->assertEquals(
                        "XXX67890",
-                       $this->lang->truncate( "1234567890", -8, 'XXX' ),
+                       $this->getLang()->truncate( "1234567890", -8, 'XXX' ),
                        'truncate suffix, small ellipsis'
                );
 
                $this->assertEquals(
                        "123456789",
-                       $this->lang->truncate( "123456789", -5, 'XXXXXXXXXXXXXXX' ),
+                       $this->getLang()->truncate( "123456789", -5, 'XXXXXXXXXXXXXXX' ),
                        'truncate suffix, large ellipsis'
                );
        }
@@ -256,7 +244,7 @@ class LanguageTest extends MediaWikiTestCase {
                // Actual HTML...
                $this->assertEquals(
                        $expected,
-                       $this->lang->truncateHTML( $input, $len, $ellipsis )
+                       $this->getLang()->truncateHTML( $input, $len, $ellipsis )
                );
        }
 
@@ -355,7 +343,7 @@ class LanguageTest extends MediaWikiTestCase {
        function testSprintfDate( $format, $ts, $expected, $msg ) {
                $this->assertEquals(
                        $expected,
-                       $this->lang->sprintfDate( $format, $ts ),
+                       $this->getLang()->sprintfDate( $format, $ts ),
                        "sprintfDate('$format', '$ts'): $msg"
                );
        }
@@ -372,7 +360,7 @@ class LanguageTest extends MediaWikiTestCase {
 
                $this->assertEquals(
                        $expected,
-                       $this->lang->sprintfDate( $format, $ts ),
+                       $this->getLang()->sprintfDate( $format, $ts ),
                        "sprintfDate('$format', '$ts'): $msg"
                );
 
@@ -680,7 +668,7 @@ class LanguageTest extends MediaWikiTestCase {
        function testFormatSize( $size, $expected, $msg ) {
                $this->assertEquals(
                        $expected,
-                       $this->lang->formatSize( $size ),
+                       $this->getLang()->formatSize( $size ),
                        "formatSize('$size'): $msg"
                );
        }
@@ -742,7 +730,7 @@ class LanguageTest extends MediaWikiTestCase {
        function testFormatBitrate( $bps, $expected, $msg ) {
                $this->assertEquals(
                        $expected,
-                       $this->lang->formatBitrate( $bps ),
+                       $this->getLang()->formatBitrate( $bps ),
                        "formatBitrate('$bps'): $msg"
                );
        }
@@ -815,7 +803,7 @@ class LanguageTest extends MediaWikiTestCase {
        function testFormatDuration( $duration, $expected, $intervals = array() ) {
                $this->assertEquals(
                        $expected,
-                       $this->lang->formatDuration( $duration, $intervals ),
+                       $this->getLang()->formatDuration( $duration, $intervals ),
                        "formatDuration('$duration'): $expected"
                );
        }
@@ -950,7 +938,7 @@ class LanguageTest extends MediaWikiTestCase {
        function testCheckTitleEncoding( $s ) {
                $this->assertEquals(
                        $s,
-                       $this->lang->checkTitleEncoding($s),
+                       $this->getLang()->checkTitleEncoding($s),
                        "checkTitleEncoding('$s')"
                );
        }
@@ -1070,7 +1058,7 @@ class LanguageTest extends MediaWikiTestCase {
         * @dataProvider providePluralData
         */
        function testConvertPlural( $expected, $number, $forms ) {
-               $chosen = $this->lang->convertPlural( $number, $forms );
+               $chosen = $this->getLang()->convertPlural( $number, $forms );
                $this->assertEquals( $expected, $chosen );
        }
 
index 175cdb9..259e007 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageTi.php */
-class LanguageTiTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'Ti' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageTiTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms = array( 'one', 'many' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index e03531f..bf3dafc 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageTl.php */
-class LanguageTlTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'Tl' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageTlTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms = array( 'one', 'many' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {
index a3cacc2..e4859df 100644 (file)
@@ -6,15 +6,7 @@
  */
 
 /** Tests for MediaWiki languages/LanguageTr.php */
-class LanguageTrTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'Tr' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageTrTest extends LanguageClassesTestCase {
 
        /**
         * See @bug 28040
@@ -27,9 +19,9 @@ class LanguageTrTest extends MediaWikiTestCase {
         */
        function testDottedAndDotlessI( $func, $input, $inputCase, $expected ) {
                if( $func == 'ucfirst' ) {
-                       $res = $this->lang->ucfirst( $input );
+                       $res = $this->getLang()->ucfirst( $input );
                } elseif( $func == 'lcfirst' ) {
-                       $res = $this->lang->lcfirst( $input );
+                       $res = $this->getLang()->lcfirst( $input );
                } else {
                        throw new MWException( __METHOD__ . " given an invalid function name '$func'" );
                }
index 2b6f707..f29b90b 100644 (file)
@@ -7,20 +7,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageUk.php */
-class LanguageUkTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'Uk' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageUkTest extends LanguageClassesTestCase {
 
        /** @dataProvider providePluralFourForms */
        function testPluralFourForms( $result, $value ) {
                $forms = array( 'one', 'few', 'many', 'other' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providePluralFourForms() {
@@ -41,7 +33,7 @@ class LanguageUkTest extends MediaWikiTestCase {
        /** @dataProvider providePluralTwoForms */
        function testPluralTwoForms( $result, $value ) {
                $forms = array( 'one', 'several' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
        function providePluralTwoForms() {
                return array (
index 0314649..99607d1 100644 (file)
 require_once dirname( __DIR__ ) . '/bootstrap.php';
 
 /** Tests for MediaWiki languages/LanguageUz.php */
-class LanguageUzTest extends MediaWikiTestCase {
-       /* Language object. Initialized before each test */
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'uz' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageUzTest extends LanguageClassesTestCase {
 
        /**
         * @author Nikola Smolenski
@@ -109,7 +100,7 @@ class LanguageUzTest extends MediaWikiTestCase {
 
        /** Wrapper for converter::convertTo() method*/
        function convertTo( $text, $variant ) {
-               return $this->lang->mConverter->convertTo( $text, $variant );
+               return $this->getLang()->mConverter->convertTo( $text, $variant );
        }
        function convertToCyrillic( $text ) {
                return $this->convertTo( $text, 'uz-cyrl' );
index 08312ce..4a1c0e7 100644 (file)
@@ -6,20 +6,12 @@
  */
 
 /** Tests for MediaWiki languages/classes/LanguageWa.php */
-class LanguageWaTest extends MediaWikiTestCase {
-       private $lang;
-
-       protected function setUp() {
-               $this->lang = Language::factory( 'Wa' );
-       }
-       protected function tearDown() {
-               unset( $this->lang );
-       }
+class LanguageWaTest extends LanguageClassesTestCase {
 
        /** @dataProvider providerPlural */
        function testPlural( $result, $value ) {
                $forms = array( 'one', 'many' );
-               $this->assertEquals( $result, $this->lang->convertPlural( $value, $forms ) );
+               $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
        }
 
        function providerPlural() {