Merge "Update docs/hooks.txt for ShowSearchHitTitle"
[mediawiki.git] / tests / phpunit / languages / classes / LanguageRuTest.php
bloba76293c1902c207f2fccf97f796f1479e8e1b347
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 = [ '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 = [ 'one', 'few', 'many', 'other', '12=dozen' ];
26 $this->assertEquals( 'dozen', $this->getLang()->convertPlural( 12, $forms ) );
27 $forms = [ '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 [
41 [ 'one', 1 ],
42 [ 'many', 11 ],
43 [ 'one', 91 ],
44 [ 'one', 121 ],
45 [ 'few', 2 ],
46 [ 'few', 3 ],
47 [ 'few', 4 ],
48 [ 'few', 334 ],
49 [ 'many', 5 ],
50 [ 'many', 15 ],
51 [ 'many', 120 ],
55 /**
56 * @dataProvider providePluralTwoForms
57 * @covers Language::convertPlural
59 public function testPluralTwoForms( $result, $value ) {
60 $forms = [ '1=one', 'other' ];
61 $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
64 public static function providePluralTwoForms() {
65 return [
66 [ 'one', 1 ],
67 [ 'other', 11 ],
68 [ 'other', 91 ],
69 [ '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 [
84 'Википедии',
85 'Википедия',
86 'genitive',
89 'Викитеки',
90 'Викитека',
91 'genitive',
94 'Викитеке',
95 'Викитека',
96 'prepositional',
99 'Викисклада',
100 'Викисклад',
101 'genitive',
104 'Викискладе',
105 'Викисклад',
106 'prepositional',
109 'Викиданных',
110 'Викиданные',
111 'prepositional',
114 'русского',
115 'русский',
116 'languagegen',
119 'немецкого',
120 'немецкий',
121 'languagegen',
124 'иврита',
125 'иврит',
126 'languagegen',
129 'эсперанто',
130 'эсперанто',
131 'languagegen',
134 'русском',
135 'русский',
136 'languageprep',
139 'немецком',
140 'немецкий',
141 'languageprep',
144 'идише',
145 'идиш',
146 'languageprep',
149 'эсперанто',
150 'эсперанто',
151 'languageprep',
154 'по-русски',
155 'русский',
156 'languageadverb',
159 'по-немецки',
160 'немецкий',
161 'languageadverb',
164 'на иврите',
165 'иврит',
166 'languageadverb',
169 'на эсперанто',
170 'эсперанто',
171 'languageadverb',
174 'на языке гуарани',
175 'гуарани',
176 'languageadverb',