Merge "(bug 42600) (bug 24375) Fix doMaintenance.php exit procedures."
[lhc/web/wiklou.git] / tests / phpunit / languages / LanguageRuTest.php
1 <?php
2 /**
3 * @author Amir E. Aharoni
4 * based on LanguageBe_tarask.php
5 * @copyright Copyright © 2012, Amir E. Aharoni
6 * @file
7 */
8
9 /** Tests for MediaWiki languages/classes/LanguageRu.php */
10 class LanguageRuTest extends LanguageClassesTestCase {
11
12 /** @dataProvider providePluralFourForms */
13 function testPluralFourForms( $result, $value ) {
14 $forms = array( 'one', 'few', 'many', 'other' );
15 $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
16 }
17
18 function providePluralFourForms() {
19 return array(
20 array( 'one', 1 ),
21 array( 'many', 11 ),
22 array( 'one', 91 ),
23 array( 'one', 121 ),
24 array( 'few', 2 ),
25 array( 'few', 3 ),
26 array( 'few', 4 ),
27 array( 'few', 334 ),
28 array( 'many', 5 ),
29 array( 'many', 15 ),
30 array( 'many', 120 ),
31 );
32 }
33
34 /** @dataProvider providePluralTwoForms */
35 function testPluralTwoForms( $result, $value ) {
36 $forms = array( 'one', 'several' );
37 $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
38 }
39
40 function providePluralTwoForms() {
41 return array(
42 array( 'one', 1 ),
43 array( 'several', 11 ),
44 array( 'several', 91 ),
45 array( 'several', 121 ),
46 );
47 }
48
49 /** @dataProvider providerGrammar */
50 function testGrammar( $result, $word, $case ) {
51 $this->assertEquals( $result, $this->getLang()->convertGrammar( $word, $case ) );
52 }
53
54 function providerGrammar() {
55 return array(
56 array(
57 'Википедии',
58 'Википедия',
59 'genitive',
60 ),
61 array(
62 'Викитеки',
63 'Викитека',
64 'genitive',
65 ),
66 array(
67 'Викитеке',
68 'Викитека',
69 'prepositional',
70 ),
71 array(
72 'Викиданных',
73 'Викиданные',
74 'prepositional',
75 ),
76 );
77 }
78 }