3 * @author Amir E. Aharoni
4 * based on LanguageBe_tarask.php
5 * @copyright Copyright © 2012, Amir E. Aharoni
9 /** Tests for MediaWiki languages/classes/LanguageRu.php */
10 class LanguageRuTest
extends LanguageClassesTestCase
{
12 * @dataProvider providePlural
13 * @covers Language::convertPlural
15 public function testPlural( $result, $value ) {
16 $forms = array( 'one', 'few', 'many', 'other' );
17 $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
21 * Test explicit plural forms - n=FormN forms
22 * @covers Language::convertPlural
24 public function testExplicitPlural() {
25 $forms = array( 'one', 'few', 'many', 'other', '12=dozen' );
26 $this->assertEquals( 'dozen', $this->getLang()->convertPlural( 12, $forms ) );
27 $forms = array( 'one', 'few', 'many', '100=hundred', 'other', '12=dozen' );
28 $this->assertEquals( 'hundred', $this->getLang()->convertPlural( 100, $forms ) );
32 * @dataProvider providePlural
33 * @covers Language::getPluralRuleType
35 public function testGetPluralRuleType( $result, $value ) {
36 // TODO: Remove after MW plurals rules made in sync with CLDR
37 $this->markTestSkipped( 'Skipping. Russian plural forms are overridden in MW' );
38 $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
41 public static function providePlural() {
58 * @dataProvider providePluralTwoForms
59 * @covers Language::convertPlural
61 public function testPluralTwoForms( $result, $value ) {
62 $forms = array( 'one', 'other' );
63 $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
66 public static function providePluralTwoForms() {
71 array( 'other', 121 ),
76 * @dataProvider providerGrammar
77 * @covers Language::convertGrammar
79 public function testGrammar( $result, $word, $case ) {
80 $this->assertEquals( $result, $this->getLang()->convertGrammar( $word, $case ) );
83 public static function providerGrammar() {