From a35f710791c7c86877be06af5e85636b3305d2e2 Mon Sep 17 00:00:00 2001 From: Santhosh Thottingal Date: Wed, 4 Dec 2013 10:28:07 +0530 Subject: [PATCH] Make explicit plural forms work for Russian Russian has overridden convertPlural method, that was not taking care of explicit plural forms. Follow up: I2a9f93567087babb896999f1214d3c56afc67c96 Bug: 54514 Change-Id: Ia977fa544b1d0e40222c7296b7145dcd6f93ecc2 --- languages/classes/LanguageRu.php | 4 ++++ tests/phpunit/languages/LanguageRuTest.php | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/languages/classes/LanguageRu.php b/languages/classes/LanguageRu.php index 11b42cf9a2..243a8762ad 100644 --- a/languages/classes/LanguageRu.php +++ b/languages/classes/LanguageRu.php @@ -122,6 +122,10 @@ class LanguageRu extends Language { * @return string */ function convertPlural( $count, $forms ) { + $forms = $this->handleExplicitPluralForms( $count, $forms ); + if ( is_string( $forms ) ) { + return $forms; + } if ( !count( $forms ) ) { return ''; } diff --git a/tests/phpunit/languages/LanguageRuTest.php b/tests/phpunit/languages/LanguageRuTest.php index e938be793b..56f849063b 100644 --- a/tests/phpunit/languages/LanguageRuTest.php +++ b/tests/phpunit/languages/LanguageRuTest.php @@ -17,6 +17,17 @@ class LanguageRuTest extends LanguageClassesTestCase { $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) ); } + /** + * Test explicit plural forms - n=FormN forms + * @covers Language::convertPlural + */ + public function testExplicitPlural() { + $forms = array( 'one', 'few', 'many', 'other', '12=dozen' ); + $this->assertEquals( 'dozen', $this->getLang()->convertPlural( 12, $forms ) ); + $forms = array( 'one', 'few', 'many', '100=hundred', 'other', '12=dozen' ); + $this->assertEquals( 'hundred', $this->getLang()->convertPlural( 100, $forms ) ); + } + /** * @dataProvider providePlural * @covers Language::getPluralRuleType -- 2.20.1