'dateFormats', 'datePreferences', 'datePreferenceMigrationMap',
'defaultDateFormat', 'extraUserToggles', 'specialPageAliases',
'imageFiles', 'preloadedMessages', 'namespaceGenderAliases',
- 'digitGroupingPattern', 'pluralRules', 'compiledPluralRules',
+ 'digitGroupingPattern', 'pluralRules', 'pluralRuleTypes', 'compiledPluralRules',
);
/**
*/
var $pluralRules = null;
+ /**
+ * Associative array of cached plural rule types. The key is the language
+ * code, the value is an array of plural rule types for that language. For
+ * example, $pluralRuleTypes['ar'] = ['zero', 'one', 'two', 'few', 'many'].
+ * The index for each rule type matches the index for the rule in
+ * $pluralRules, thus allowing correlation between the two. The reason we
+ * don't just use the type names as the keys in $pluralRules is because
+ * Language::convertPlural applies the rules based on numeric order (or
+ * explicit numeric parameter), not based on the name of the rule type. For
+ * example, {{plural:count|wordform1|wordform2|wordform3}}, rather than
+ * {{plural:count|one=wordform1|two=wordform2|many=wordform3}}.
+ */
+ var $pluralRuleTypes = null;
+
var $mergeableKeys = null;
/**
* @since 1.20
*/
public function getPluralRules( $code ) {
- global $IP;
-
if ( $this->pluralRules === null ) {
- $cldrPlural = "$IP/languages/data/plurals.xml";
- $mwPlural = "$IP/languages/data/plurals-mediawiki.xml";
- // Load CLDR plural rules
- $this->loadPluralFile( $cldrPlural );
- if ( file_exists( $mwPlural ) ) {
- // Override or extend
- $this->loadPluralFile( $mwPlural );
- }
+ $this->loadPluralFiles();
}
if ( !isset( $this->pluralRules[$code] ) ) {
return null;
}
}
+ /**
+ * Get the plural rule types for a given language from the XML files.
+ * Cached.
+ * @since 1.21
+ */
+ public function getPluralRuleTypes( $code ) {
+ if ( $this->pluralRuleTypes === null ) {
+ $this->loadPluralFiles();
+ }
+ if ( !isset( $this->pluralRuleTypes[$code] ) ) {
+ return null;
+ } else {
+ return $this->pluralRuleTypes[$code];
+ }
+ }
+
+ /**
+ * Load the plural XML files.
+ */
+ protected function loadPluralFiles() {
+ global $IP;
+ $cldrPlural = "$IP/languages/data/plurals.xml";
+ $mwPlural = "$IP/languages/data/plurals-mediawiki.xml";
+ // Load CLDR plural rules
+ $this->loadPluralFile( $cldrPlural );
+ if ( file_exists( $mwPlural ) ) {
+ // Override or extend
+ $this->loadPluralFile( $mwPlural );
+ }
+ }
+
/**
* Load a plural XML file with the given filename, compile the relevant
* rules, and save the compiled rules in a process-local cache.
foreach ( $rulesets as $ruleset ) {
$codes = $ruleset->getAttribute( 'locales' );
$rules = array();
+ $ruleTypes = array();
$ruleElements = $ruleset->getElementsByTagName( "pluralRule" );
foreach ( $ruleElements as $elt ) {
+ $ruleType = $elt->getAttribute( 'count' );
$rules[] = $elt->nodeValue;
+ $ruleTypes[] = $ruleType;
}
foreach ( explode( ' ', $codes ) as $code ) {
$this->pluralRules[$code] = $rules;
+ $this->pluralRuleTypes[$code] = $ruleTypes;
}
}
}
$data['pluralRules'] = $this->getPluralRules( $code );
# And for PHP
$data['compiledPluralRules'] = $this->getCompiledPluralRules( $code );
+ # Load plural rule types
+ $data['pluralRuleTypes'] = $this->getPluralRuleTypes( $code );
$deps['plurals'] = new FileDependency( "$IP/languages/data/plurals.xml" );
$deps['plurals-mw'] = new FileDependency( "$IP/languages/data/plurals-mediawiki.xml" );
if ( $allData['compiledPluralRules'] === null ) {
$allData['compiledPluralRules'] = array();
}
+ # If there were no plural rule types, return an empty array
+ if ( $allData['pluralRuleTypes'] === null ) {
+ $allData['pluralRuleTypes'] = array();
+ }
# Set the list keys
$allData['list'] = array();
$this->unload( $code );
}
}
-
}
* @ingroup Language
*/
class FakeConverter {
-
/**
* @var Language
*/
}
$forms = array_values( $forms );
- $pluralForm = $this->getPluralForm( $count );
+ $pluralForm = $this->getPluralRuleIndexNumber( $count );
$pluralForm = min( $pluralForm, count( $forms ) - 1 );
return $forms[$pluralForm];
}
/**
* Get the plural rules for the language
* @since 1.20
- * @return array Associative array with plural form, and plural rule as key-value pairs
+ * @return array Associative array with plural form number and plural rule as key-value pairs
*/
public function getPluralRules() {
$pluralRules = self::$dataCache->getItem( strtolower( $this->mCode ), 'pluralRules' );
}
/**
- * Find the plural form matching to the given number
- * It return the form index.
- * @return int The index of the plural form
+ * Get the plural rule types for the language
+ * @since 1.21
+ * @return array Associative array with plural form number and plural rule type as key-value pairs
+ */
+ public function getPluralRuleTypes() {
+ $pluralRuleTypes = self::$dataCache->getItem( strtolower( $this->mCode ), 'pluralRuleTypes' );
+ $fallbacks = Language::getFallbacksFor( $this->mCode );
+ if ( !$pluralRuleTypes ) {
+ foreach ( $fallbacks as $fallbackCode ) {
+ $pluralRuleTypes = self::$dataCache->getItem( strtolower( $fallbackCode ), 'pluralRuleTypes' );
+ if ( $pluralRuleTypes ) {
+ break;
+ }
+ }
+ }
+ return $pluralRuleTypes;
+ }
+
+ /**
+ * Find the index number of the plural rule appropriate for the given number
+ * @return int The index number of the plural rule
*/
- private function getPluralForm( $number ) {
+ public function getPluralRuleIndexNumber( $number ) {
$pluralRules = $this->getCompiledPluralRules();
$form = CLDRPluralRuleEvaluator::evaluateCompiled( $number, $pluralRules );
return $form;
}
+
+ /**
+ * Find the plural rule type appropriate for the given number
+ * For example, if the language is set to Arabic, getPluralType(5) should
+ * return 'few'.
+ * @since 1.21
+ * @return string The name of the plural rule type, e.g. one, two, few, many
+ */
+ public function getPluralRuleType( $number ) {
+ $index = $this->getPluralRuleIndexNumber( $number );
+ $pluralRuleTypes = $this->getPluralRuleTypes();
+ if ( isset( $pluralRuleTypes[$index] ) ) {
+ return $pluralRuleTypes[$index];
+ } else {
+ return 'other';
+ }
+ }
}
+++ /dev/null
-<?php
-/**
- * Macedonian (Македонски) specific code.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- * @ingroup Language
- */
-
-/**
- * Macedonian (Македонски)
- *
- * @ingroup Language
- */
-class LanguageMk extends Language {
- /**
- * Plural forms per
- * http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html#mk
- *
- * @param $count int
- * @param $forms array
- *
- * @return string
- */
- function convertPlural( $count, $forms ) {
- if ( !count( $forms ) ) { return ''; }
- $forms = $this->preConvertPlural( $forms, 2 );
- // TODO CLDR defines forms[0] for n != 11 and not for n%100 !== 11
- if ( $count % 10 === 1 && $count % 100 !== 11 ) {
- return $forms[0];
- } else {
- return $forms[1];
- }
- }
-}
<!DOCTYPE supplementalData SYSTEM "../../common/dtd/ldmlSupplemental.dtd">
<supplementalData>
<plurals>
+ <!-- What is this override for Hebrew based on? Is there a CLDR ticket for this? -Ryan Kaldari 2013-01-28 -->
<pluralRules locales="he">
<pluralRule count="one">n is 1</pluralRule>
<pluralRule count="two">n is 2</pluralRule>
/** Tests for MediaWiki languages/LanguageAm.php */
class LanguageAmTest extends LanguageClassesTestCase {
-
/** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
function providePlural() {
return array(
array( 'one', 0 ),
/** Tests for MediaWiki languages/LanguageAr.php */
class LanguageArTest extends LanguageClassesTestCase {
-
function testFormatNum() {
$this->assertEquals( '١٬٢٣٤٬٥٦٧', $this->getLang()->formatNum( '1234567' ) );
$this->assertEquals( '-١٢٫٨٩', $this->getLang()->formatNum( -12.89 ) );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
function providePlural() {
return array(
array( 'zero', 0 ),
/** Tests for MediaWiki languages/LanguageBe.php */
class LanguageBeTest extends LanguageClassesTestCase {
-
/** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'few', 'many', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
function providePlural() {
return array(
array( 'one', 1 ),
<?php
class LanguageBe_taraskTest extends LanguageClassesTestCase {
-
/**
* Make sure the language code we are given is indeed
* be-tarask. This is to ensure LanguageClassesTestCase
$this->assertEquals( '1234', $this->getLang()->commafy( '1234' ) );
}
- /** @dataProvider providePluralFourForms */
- function testPluralFourForms( $result, $value ) {
- $forms = array( 'one', 'few', 'many', 'other' );
+ /** @dataProvider providePlural */
+ function testPlural( $result, $value ) {
+ $forms = array( 'one', 'few', 'many', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providePluralFourForms() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'one', 1 ),
array( 'many', 11 ),
array( 'one', 91 ),
/** @dataProvider providePluralTwoForms */
function testPluralTwoForms( $result, $value ) {
- $forms = array( 'one', 'several' );
+ $forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
function providePluralTwoForms() {
return array(
array( 'one', 1 ),
- array( 'several', 11 ),
- array( 'several', 91 ),
- array( 'several', 121 ),
+ array( 'other', 11 ),
+ array( 'other', 91 ),
+ array( 'other', 121 ),
);
}
-
}
/** Tests for MediaWiki languages/LanguageBho.php */
class LanguageBhoTest extends LanguageClassesTestCase {
-
/** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
function providePlural() {
return array(
array( 'one', 0 ),
array( 'other', 200 ),
);
}
-
}
/** Tests for MediaWiki languages/LanguageBs.php */
class LanguageBsTest extends LanguageClassesTestCase {
-
/** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'few', 'many', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
function providePlural() {
return array(
array( 'many', 0 ),
array( 'many', 200 ),
);
}
-
}
/** Tests for MediaWiki languages/classes/Languagecs.php */
class LanguageCsTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'few', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'other', 0 ),
array( 'one', 1 ),
array( 'few', 2 ),
array( 'other', 200 ),
);
}
-
}
/** Tests for MediaWiki languages/LanguageCu.php */
class LanguageCuTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
- $forms = array( 'one', 'few', 'many', 'other' );
+ $forms = array( 'one', 'two', 'few', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'other', 0 ),
array( 'one', 1 ),
- array( 'few', 2 ),
- array( 'many', 3 ),
- array( 'many', 4 ),
+ array( 'two', 2 ),
+ array( 'few', 3 ),
+ array( 'few', 4 ),
array( 'other', 5 ),
array( 'one', 11 ),
array( 'other', 20 ),
- array( 'few', 22 ),
- array( 'many', 223 ),
+ array( 'two', 22 ),
+ array( 'few', 223 ),
array( 'other', 200 ),
);
}
-
}
/** Tests for MediaWiki languages/classes/LanguageCy.php */
class LanguageCyTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'zero', 'one', 'two', 'few', 'many', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'zero', 0 ),
array( 'one', 1 ),
array( 'two', 2 ),
array( 'other', 200.00 ),
);
}
-
}
/** Tests for MediaWiki languages/classes/LanguageDsb.php */
class LanguageDsbTest extends LanguageClassesTestCase {
-
/** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'two', 'few', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
function providePlural() {
return array(
array( 'other', 0 ),
array( 'other', 555 ),
);
}
-
}
/** Tests for MediaWiki languages/classes/LanguageFr.php */
class LanguageFrTest extends LanguageClassesTestCase {
-
/** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
function providePlural() {
return array(
array( 'one', 0 ),
array( 'other', 200 ),
);
}
-
}
/** Tests for MediaWiki languages/classes/LanguageGa.php */
class LanguageGaTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'two', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'other', 0 ),
array( 'one', 1 ),
array( 'two', 2 ),
array( 'other', 200 ),
);
}
-
}
/** Tests for MediaWiki languages/classes/LanguageGd.php */
class LanguageGdTest extends LanguageClassesTestCase {
-
/** @dataProvider providerPlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'two', 'few', 'other' );
/** Tests for MediaWiki languages/classes/LanguageGv.php */
class LanguageGvTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
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' );
+ // What does this mean? Is there a hard-coded override for gv somewhere? -Ryan Kaldari 2013-01-28
+ $forms = array( 'Form 1', 'Form 2', 'Form 3', 'Form 4' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->markTestSkipped( "This test won't work since convertPlural for gv doesn't seem to actually follow our plural rules." );
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'Form 4', 0 ),
array( 'Form 2', 1 ),
array( 'Form 3', 2 ),
array( 'Form 4', 50 ),
);
}
-
}
/** Tests for MediaWiki languages/classes/LanguageHe.php */
class LanguageHeTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPluralDual */
- function testPluralDual( $result, $value ) {
+ /** @dataProvider providePlural */
+ function testPlural( $result, $value ) {
$forms = array( 'one', 'two', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPluralDual() {
- return array(
- array( 'other', 0 ), // Zero -> plural
- array( 'one', 1 ), // Singular
- array( 'two', 2 ), // Dual
- array( 'other', 3 ), // Plural
- );
- }
-
- /** @dataProvider providerPlural */
- function testPlural( $result, $value ) {
- $forms = array( 'one', 'other' );
- $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
}
- function providerPlural() {
- return array(
- array( 'other', 0 ), // Zero -> plural
- array( 'one', 1 ), // Singular
- array( 'other', 2 ), // Plural, no dual provided
- array( 'other', 3 ), // Plural
+ function providePlural() {
+ return array (
+ array( 'other', 0 ),
+ array( 'one', 1 ),
+ array( 'two', 2 ),
+ array( 'other', 3 ),
+ array( 'other', 10 ),
);
}
- /** @dataProvider providerGrammar */
+ /** @dataProvider provideGrammar */
function testGrammar( $result, $word, $case ) {
$this->assertEquals( $result, $this->getLang()->convertGrammar( $word, $case ) );
}
// The comments in the beginning of the line help avoid RTL problems
// with text editors.
- function providerGrammar() {
- return array(
+ function provideGrammar() {
+ return array (
array(
/* result */ 'וויקיפדיה',
/* word */ 'ויקיפדיה',
/** Tests for MediaWiki languages/LanguageHi.php */
class LanguageHiTest extends LanguageClassesTestCase {
-
/** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
function providePlural() {
return array(
array( 'one', 0 ),
array( 'other', 200 ),
);
}
-
}
/** Tests for MediaWiki languages/classes/LanguageHr.php */
class LanguageHrTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'few', 'many', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'many', 0 ),
array( 'one', 1 ),
array( 'few', 2 ),
array( 'many', 200 ),
);
}
-
}
/** Tests for MediaWiki languages/classes/LanguageHsb.php */
class LanguageHsbTest extends LanguageClassesTestCase {
-
/** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'two', 'few', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
function providePlural() {
return array(
array( 'other', 0 ),
array( 'other', 555 ),
);
}
-
}
/** Tests for MediaWiki languages/LanguageHu.php */
class LanguageHuTest extends LanguageClassesTestCase {
-
/** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
function providePlural() {
return array(
array( 'other', 0 ),
array( 'other', 200 ),
);
}
-
}
/** Tests for MediaWiki languages/LanguageHy.php */
class LanguageHyTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ // This fails for 0, but I'm not sure why. Some voodoo going on here.
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'other', 0 ),
array( 'one', 1 ),
array( 'other', 2 ),
array( 'other', 200 ),
);
}
-
}
/** Tests for MediaWiki languages/classes/LanguageKsh.php */
class LanguageKshTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'other', 'zero' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'zero', 0 ),
array( 'one', 1 ),
array( 'other', 2 ),
array( 'other', 200 ),
);
}
-
}
/** Tests for MediaWiki languages/classes/LanguageLn.php */
class LanguageLnTest extends LanguageClassesTestCase {
-
/** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
function providePlural() {
return array(
array( 'one', 0 ),
array( 'other', 200 ),
);
}
-
}
/** Tests for MediaWiki languages/LanguageLt.php */
class LanguageLtTest extends LanguageClassesTestCase {
-
- /** @dataProvider provideOneFewOtherCases */
- function testOneFewOtherPlural( $result, $value ) {
- $forms = array( 'one', 'few', 'other' );
+ /** @dataProvider providePlural */
+ function testPlural( $result, $value ) {
+ $forms = array( 'one', 'few', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- /** @dataProvider provideOneFewCases */
- function testOneFewPlural( $result, $value ) {
- $forms = array( 'one', 'few' );
- $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
}
- function provideOneFewOtherCases() {
- return array(
+ function providePlural() {
+ return array (
array( 'other', 0 ),
array( 'one', 1 ),
array( 'few', 2 ),
);
}
- function provideOneFewCases() {
- return array(
+ /** @dataProvider providePluralTwoForms */
+ function testOneFewPlural( $result, $value ) {
+ $forms = array( 'one', 'other' );
+ // This fails for 21, but not sure why.
+ $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
+ }
+
+ function providePluralTwoForms() {
+ return array (
array( 'one', 1 ),
- array( 'few', 15 ),
+ array( 'other', 2 ),
+ array( 'other', 15 ),
+ array( 'other', 20 ),
+ array( 'one', 21 ),
+ array( 'other', 22 ),
);
}
}
/** Tests for MediaWiki languages/classes/LanguageLv.php */
class LanguageLvTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'zero', 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'zero', 0 ),
array( 'one', 1 ),
array( 'other', 11 ),
array( 'other', 200 ),
);
}
-
}
/** Tests for MediaWiki languages/classes/LanguageMg.php */
class LanguageMgTest extends LanguageClassesTestCase {
-
/** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
function providePlural() {
return array(
array( 'one', 0 ),
array( 'other', 123.3434 ),
);
}
-
}
/** Tests for MediaWiki languages/classes/LanguageMk.php */
class LanguageMkTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
- function providerPlural() {
- return array(
+ function providePlural() {
+ return array (
array( 'other', 0 ),
array( 'one', 1 ),
array( 'other', 11 ),
array( 'one', 21 ),
- array( 'other', 411 ),
+ array( 'one', 411 ),
array( 'other', 12.345 ),
array( 'other', 20 ),
array( 'one', 31 ),
array( 'other', 200 ),
);
}
-
-
}
/** Tests for MediaWiki languages/classes/LanguageMo.php */
class LanguageMoTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'few', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
- array( 'few', 0 ),
- array( 'one', 1 ),
- array( 'few', 2 ),
- array( 'few', 19 ),
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
+ array( 'few', 0 ),
+ array( 'one', 1 ),
+ array( 'few', 2 ),
+ array( 'few', 19 ),
array( 'other', 20 ),
array( 'other', 99 ),
array( 'other', 100 ),
/** Tests for MediaWiki languages/classes/LanguageMt.php */
class LanguageMtTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPluralAllForms */
- function testPluralAllForms( $result, $value ) {
+ /** @dataProvider providePlural */
+ function testPlural( $result, $value ) {
$forms = array( 'one', 'few', 'many', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPluralAllForms() {
- return array(
- array( 'few', 0 ),
- array( 'one', 1 ),
- array( 'few', 2 ),
- array( 'few', 10 ),
- array( 'many', 11 ),
- array( 'many', 19 ),
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
+ array( 'few', 0 ),
+ array( 'one', 1 ),
+ array( 'few', 2 ),
+ array( 'few', 10 ),
+ array( 'many', 11 ),
+ array( 'many', 19 ),
array( 'other', 20 ),
array( 'other', 99 ),
array( 'other', 100 ),
/** @dataProvider providerPluralTwoForms */
function testPluralTwoForms( $result, $value ) {
- $forms = array( 'one', 'many' );
+ $forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
function providerPluralTwoForms() {
- return array(
- array( 'many', 0 ),
- array( 'one', 1 ),
- array( 'many', 2 ),
- array( 'many', 10 ),
- array( 'many', 11 ),
- array( 'many', 19 ),
- array( 'many', 20 ),
- array( 'many', 99 ),
- array( 'many', 100 ),
- array( 'many', 101 ),
- array( 'many', 102 ),
- array( 'many', 110 ),
- array( 'many', 111 ),
- array( 'many', 119 ),
- array( 'many', 120 ),
- array( 'many', 201 ),
+ return array (
+ array( 'other', 0 ),
+ array( 'one', 1 ),
+ array( 'other', 2 ),
+ array( 'other', 10 ),
+ array( 'other', 11 ),
+ array( 'other', 19 ),
+ array( 'other', 20 ),
+ array( 'other', 99 ),
+ array( 'other', 100 ),
+ array( 'other', 101 ),
+ array( 'other', 102 ),
+ array( 'other', 110 ),
+ array( 'other', 111 ),
+ array( 'other', 119 ),
+ array( 'other', 120 ),
+ array( 'other', 201 ),
);
}
}
/** Tests for MediaWiki languages/classes/LanguageNso.php */
class LanguageNsoTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
- $forms = array( 'one', 'many' );
+ $forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
- array( 'one', 0 ),
- array( 'one', 1 ),
- array( 'many', 2 ),
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
+ array( 'one', 0 ),
+ array( 'one', 1 ),
+ array( 'other', 2 ),
);
}
}
/** Tests for MediaWiki languages/classes/LanguagePl.php */
class LanguagePlTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPluralFourForms */
- function testPluralFourForms( $result, $value ) {
+ /** @dataProvider providePlural */
+ function testPlural( $result, $value ) {
$forms = array( 'one', 'few', 'many' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPluralFourForms() {
- return array(
- array( 'many', 0 ),
- array( 'one', 1 ),
- array( 'few', 2 ),
- array( 'few', 3 ),
- array( 'few', 4 ),
- array( 'many', 5 ),
- array( 'many', 9 ),
- array( 'many', 10 ),
- array( 'many', 11 ),
- array( 'many', 21 ),
- array( 'few', 22 ),
- array( 'few', 23 ),
- array( 'few', 24 ),
- array( 'many', 25 ),
- array( 'many', 200 ),
- array( 'many', 201 ),
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
+ array( 'many', 0 ),
+ array( 'one', 1 ),
+ array( 'few', 2 ),
+ array( 'few', 3 ),
+ array( 'few', 4 ),
+ array( 'many', 5 ),
+ array( 'many', 9 ),
+ array( 'many', 10 ),
+ array( 'many', 11 ),
+ array( 'many', 21 ),
+ array( 'few', 22 ),
+ array( 'few', 23 ),
+ array( 'few', 24 ),
+ array( 'many', 25 ),
+ array( 'many', 200 ),
+ array( 'many', 201 ),
);
}
- /** @dataProvider providerPlural */
- function testPlural( $result, $value ) {
- $forms = array( 'one', 'many' );
+ /** @dataProvider providerPluralTwoForms */
+ function testPluralTwoForms( $result, $value ) {
+ $forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
- array( 'many', 0 ),
- array( 'one', 1 ),
- array( 'many', 2 ),
- array( 'many', 3 ),
- array( 'many', 4 ),
- array( 'many', 5 ),
- array( 'many', 9 ),
- array( 'many', 10 ),
- array( 'many', 11 ),
- array( 'many', 21 ),
- array( 'many', 22 ),
- array( 'many', 23 ),
- array( 'many', 24 ),
- array( 'many', 25 ),
- array( 'many', 200 ),
- array( 'many', 201 ),
+ function providerPluralTwoForms() {
+ return array (
+ array( 'other', 0 ),
+ array( 'one', 1 ),
+ array( 'other', 2 ),
+ array( 'other', 3 ),
+ array( 'other', 4 ),
+ array( 'other', 5 ),
+ array( 'other', 9 ),
+ array( 'other', 10 ),
+ array( 'other', 11 ),
+ array( 'other', 21 ),
+ array( 'other', 22 ),
+ array( 'other', 23 ),
+ array( 'other', 24 ),
+ array( 'other', 25 ),
+ array( 'other', 200 ),
+ array( 'other', 201 ),
);
}
}
/** Tests for MediaWiki languages/classes/LanguageRo.php */
class LanguageRoTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'few', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
- array( 'few', 0 ),
- array( 'one', 1 ),
- array( 'few', 2 ),
- array( 'few', 19 ),
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
+ array( 'few', 0 ),
+ array( 'one', 1 ),
+ array( 'few', 2 ),
+ array( 'few', 19 ),
array( 'other', 20 ),
array( 'other', 99 ),
array( 'other', 100 ),
/** Tests for MediaWiki languages/classes/LanguageRu.php */
class LanguageRuTest extends LanguageClassesTestCase {
-
- /** @dataProvider providePluralFourForms */
- function testPluralFourForms( $result, $value ) {
+ /** @dataProvider providePlural */
+ function testPlural( $result, $value ) {
$forms = array( 'one', 'few', 'many', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providePluralFourForms() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'one', 1 ),
array( 'many', 11 ),
array( 'one', 91 ),
/** @dataProvider providePluralTwoForms */
function testPluralTwoForms( $result, $value ) {
- $forms = array( 'one', 'several' );
+ $forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
function providePluralTwoForms() {
return array(
array( 'one', 1 ),
- array( 'several', 11 ),
- array( 'several', 91 ),
- array( 'several', 121 ),
+ array( 'other', 11 ),
+ array( 'other', 91 ),
+ array( 'other', 121 ),
);
}
/** Tests for MediaWiki languages/classes/LanguageSe.php */
class LanguageSeTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPluralThreeForms */
- function testPluralThreeForms( $result, $value ) {
+ /** @dataProvider providePlural */
+ function testPlural( $result, $value ) {
$forms = array( 'one', 'two', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPluralThreeForms() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'other', 0 ),
array( 'one', 1 ),
array( 'two', 2 ),
);
}
- /** @dataProvider providerPlural */
- function testPlural( $result, $value ) {
+ /** @dataProvider providerPluralTwoForms */
+ function testPluralTwoForms( $result, $value ) {
$forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
+ function providerPluralTwoForms() {
+ return array (
array( 'other', 0 ),
array( 'one', 1 ),
array( 'other', 2 ),
/** Tests for MediaWiki languages/classes/LanguageSgs.php */
class LanguageSgsTest extends LanguageClassesTestCase {
-
/** @dataProvider providePluralAllForms */
function testPluralAllForms( $result, $value ) {
$forms = array( 'one', 'two', 'few', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
+ /** @dataProvider providePluralAllForms */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
function providePluralAllForms() {
return array(
array( 'few', 0 ),
/** Tests for MediaWiki languages/classes/LanguageSh.php */
class LanguageShTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
- $forms = array( 'one', 'many' );
+ $forms = array( 'one', 'few', 'many', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'many', 0 ),
- array( 'one', 1 ),
- array( 'many', 2 ),
+ array( 'one', 1 ),
+ array( 'few', 2 ),
+ array( 'few', 4 ),
+ array( 'many', 5 ),
+ array( 'many', 10 ),
+ array( 'many', 11 ),
+ array( 'many', 12 ),
+ array( 'one', 101 ),
+ array( 'few', 102 ),
+ array( 'many', 111 ),
);
}
}
/** Tests for MediaWiki languages/classes/LanguageSk.php */
class LanguageSkTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'few', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'other', 0 ),
array( 'one', 1 ),
array( 'few', 2 ),
/** Tests for MediaWiki languages/classes/LanguageSl.php */
class LanguageSlTest extends LanguageClassesTestCase {
-
/** @dataProvider providerPlural */
function testPlural( $result, $value ) {
$forms = array( 'one', 'two', 'few', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
+ /** @dataProvider providerPlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
function providerPlural() {
- return array(
- array( 'other', 0 ),
- array( 'one', 1 ),
- array( 'two', 2 ),
- array( 'few', 3 ),
- array( 'few', 4 ),
+ return array (
+ array( 'other', 0 ),
+ array( 'one', 1 ),
+ array( 'two', 2 ),
+ array( 'few', 3 ),
+ array( 'few', 4 ),
array( 'other', 5 ),
array( 'other', 99 ),
array( 'other', 100 ),
/** Tests for MediaWiki languages/classes/LanguageSma.php */
class LanguageSmaTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPluralThreeForms */
- function testPluralThreeForms( $result, $value ) {
+ /** @dataProvider providePlural */
+ function testPlural( $result, $value ) {
$forms = array( 'one', 'two', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPluralThreeForms() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'other', 0 ),
array( 'one', 1 ),
array( 'two', 2 ),
);
}
- /** @dataProvider providerPlural */
- function testPlural( $result, $value ) {
+ /** @dataProvider providerPluralTwoForms */
+ function testPluralTwoForms( $result, $value ) {
$forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
+ function providerPluralTwoForms() {
+ return array (
array( 'other', 0 ),
array( 'one', 1 ),
array( 'other', 2 ),
/** Tests for MediaWiki languages/LanguageSr.php */
class LanguageSrTest extends LanguageClassesTestCase {
-
- ##### TESTS #######################################################
-
function testEasyConversions() {
$this->assertCyrillic(
'шђчћжШЂЧЋЖ',
);
}
- /** @dataProvider providePluralFourForms */
- function testPluralFourForms( $result, $value ) {
+ /** @dataProvider providePlural */
+ function testPlural( $result, $value ) {
$forms = array( 'one', 'few', 'many', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providePluralFourForms() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'one', 1 ),
array( 'many', 11 ),
array( 'one', 91 ),
/** @dataProvider providePluralTwoForms */
function testPluralTwoForms( $result, $value ) {
- $forms = array( 'one', 'several' );
+ $forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
function providePluralTwoForms() {
return array(
array( 'one', 1 ),
- array( 'several', 11 ),
- array( 'several', 91 ),
- array( 'several', 121 ),
+ array( 'other', 11 ),
+ array( 'other', 91 ),
+ array( 'other', 121 ),
);
}
/** Tests for MediaWiki languages/classes/LanguageTi.php */
class LanguageTiTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
- $forms = array( 'one', 'many' );
+ $forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
- array( 'one', 0 ),
- array( 'one', 1 ),
- array( 'many', 2 ),
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
+ array( 'one', 0 ),
+ array( 'one', 1 ),
+ array( 'other', 2 ),
);
}
}
/** Tests for MediaWiki languages/classes/LanguageTl.php */
class LanguageTlTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
- $forms = array( 'one', 'many' );
+ $forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
- array( 'one', 0 ),
- array( 'one', 1 ),
- array( 'many', 2 ),
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
+ array( 'one', 0 ),
+ array( 'one', 1 ),
+ array( 'other', 2 ),
);
}
}
/** Tests for MediaWiki languages/classes/LanguageUk.php */
class LanguageUkTest extends LanguageClassesTestCase {
-
- /** @dataProvider providePluralFourForms */
- function testPluralFourForms( $result, $value ) {
+ /** @dataProvider providePlural */
+ function testPlural( $result, $value ) {
$forms = array( 'one', 'few', 'many', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providePluralFourForms() {
- return array(
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
array( 'one', 1 ),
array( 'many', 11 ),
array( 'one', 91 ),
/** @dataProvider providePluralTwoForms */
function testPluralTwoForms( $result, $value ) {
- $forms = array( 'one', 'several' );
+ $forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
function providePluralTwoForms() {
return array(
array( 'one', 1 ),
- array( 'several', 11 ),
- array( 'several', 91 ),
- array( 'several', 121 ),
+ array( 'other', 11 ),
+ array( 'other', 91 ),
+ array( 'other', 121 ),
);
}
}
/** Tests for MediaWiki languages/classes/LanguageWa.php */
class LanguageWaTest extends LanguageClassesTestCase {
-
- /** @dataProvider providerPlural */
+ /** @dataProvider providePlural */
function testPlural( $result, $value ) {
- $forms = array( 'one', 'many' );
+ $forms = array( 'one', 'other' );
$this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
}
- function providerPlural() {
- return array(
- array( 'one', 0 ),
- array( 'one', 1 ),
- array( 'many', 2 ),
+ /** @dataProvider providePlural */
+ function testGetPluralRuleType( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
+ }
+
+ function providePlural() {
+ return array (
+ array( 'one', 0 ),
+ array( 'one', 1 ),
+ array( 'other', 2 ),
);
}
}