More complete, more straightforward JobQueueMemoryTest
[mediawiki.git] / tests / phpunit / languages / classes / LanguageRuTest.php
bloba301479b32118ddd390c7f5bcc43bb9a932afc94
1 <?php
2 /**
3 * @author Amir E. Aharoni
4 * based on LanguageBe_tarask.php
5 * @copyright Copyright © 2012, Amir E. Aharoni
6 * @file
7 */
9 /** Tests for MediaWiki languages/classes/LanguageRu.php */
10 class LanguageRuTest extends LanguageClassesTestCase {
11 /**
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 ) );
20 /**
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 ) );
31 /**
32 * @dataProvider providePlural
33 * @covers Language::getPluralRuleType
35 public function testGetPluralRuleType( $result, $value ) {
36 $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
39 public static function providePlural() {
40 return array(
41 array( 'one', 1 ),
42 array( 'many', 11 ),
43 array( 'one', 91 ),
44 array( 'one', 121 ),
45 array( 'few', 2 ),
46 array( 'few', 3 ),
47 array( 'few', 4 ),
48 array( 'few', 334 ),
49 array( 'many', 5 ),
50 array( 'many', 15 ),
51 array( 'many', 120 ),
55 /**
56 * @dataProvider providePluralTwoForms
57 * @covers Language::convertPlural
59 public function testPluralTwoForms( $result, $value ) {
60 $forms = array( '1=one', 'other' );
61 $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
64 public static function providePluralTwoForms() {
65 return array(
66 array( 'one', 1 ),
67 array( 'other', 11 ),
68 array( 'other', 91 ),
69 array( 'other', 121 ),
73 /**
74 * @dataProvider providerGrammar
75 * @covers Language::convertGrammar
77 public function testGrammar( $result, $word, $case ) {
78 $this->assertEquals( $result, $this->getLang()->convertGrammar( $word, $case ) );
81 public static function providerGrammar() {
82 return array(
83 array(
84 'Википедии',
85 'Википедия',
86 'genitive',
88 array(
89 'Викитеки',
90 'Викитека',
91 'genitive',
93 array(
94 'Викитеке',
95 'Викитека',
96 'prepositional',
98 array(
99 'Викисклада',
100 'Викисклад',
101 'genitive',
103 array(
104 'Викискладе',
105 'Викисклад',
106 'prepositional',
108 array(
109 'Викиданных',
110 'Викиданные',
111 'prepositional',
113 array(
114 'русского',
115 'русский',
116 'languagegen',
118 array(
119 'немецкого',
120 'немецкий',
121 'languagegen',
123 array(
124 'иврита',
125 'иврит',
126 'languagegen',
128 array(
129 'эсперанто',
130 'эсперанто',
131 'languagegen',
133 array(
134 'русском',
135 'русский',
136 'languageprep',
138 array(
139 'немецком',
140 'немецкий',
141 'languageprep',
143 array(
144 'идише',
145 'идиш',
146 'languageprep',
148 array(
149 'эсперанто',
150 'эсперанто',
151 'languageprep',
153 array(
154 'по-русски',
155 'русский',
156 'languageadverb',
158 array(
159 'по-немецки',
160 'немецкий',
161 'languageadverb',
163 array(
164 'на иврите',
165 'иврит',
166 'languageadverb',
168 array(
169 'на эсперанто',
170 'эсперанто',
171 'languageadverb',
173 array(
174 'на языке гуарани',
175 'гуарани',
176 'languageadverb',