Merge "Update 'OpenSearchDescription' links"
[lhc/web/wiklou.git] / tests / phpunit / languages / classes / LanguageCrhTest.php
1 <?php
2
3 /**
4 * @covers LanguageCrh
5 * @covers CrhConverter
6 * @covers MediaWiki\Languages\Data\CrhExceptions
7 */
8 class LanguageCrhTest extends LanguageClassesTestCase {
9 /**
10 * @dataProvider provideAutoConvertToAllVariants
11 * @covers Language::autoConvertToAllVariants
12 */
13 public function testAutoConvertToAllVariants( $result, $value ) {
14 $this->assertEquals( $result, $this->getLang()->autoConvertToAllVariants( $value ) );
15 }
16
17 public static function provideAutoConvertToAllVariants() {
18 return [
19 [ // general words, covering more of the alphabet
20 [
21 'crh' => 'рузгярнынъ ruzgârnıñ Париж Parij',
22 'crh-cyrl' => 'рузгярнынъ рузгярнынъ Париж Париж',
23 'crh-latn' => 'ruzgârnıñ ruzgârnıñ Parij Parij',
24 ],
25 'рузгярнынъ ruzgârnıñ Париж Parij'
26 ],
27 [ // general words, covering more of the alphabet
28 [
29 'crh' => 'чёкюч çöküç элифбени elifbeni полициясы politsiyası',
30 'crh-cyrl' => 'чёкюч чёкюч элифбени элифбени полициясы полициясы',
31 'crh-latn' => 'çöküç çöküç elifbeni elifbeni politsiyası politsiyası',
32 ],
33 'чёкюч çöküç элифбени elifbeni полициясы politsiyası'
34 ],
35 [ // general words, covering more of the alphabet
36 [
37 'crh' => 'хусусында hususında акъшамларны aqşamlarnı опькеленюв öpkelenüv',
38 'crh-cyrl' => 'хусусында хусусында акъшамларны акъшамларны опькеленюв опькеленюв',
39 'crh-latn' => 'hususında hususında aqşamlarnı aqşamlarnı öpkelenüv öpkelenüv',
40 ],
41 'хусусында hususında акъшамларны aqşamlarnı опькеленюв öpkelenüv'
42 ],
43 [ // general words, covering more of the alphabet
44 [
45 'crh' => 'кулюмсиреди külümsiredi айтмайджагъым aytmaycağım козьяшсыз közyaşsız',
46 'crh-cyrl' => 'кулюмсиреди кулюмсиреди айтмайджагъым айтмайджагъым козьяшсыз козьяшсыз',
47 'crh-latn' => 'külümsiredi külümsiredi aytmaycağım aytmaycağım közyaşsız közyaşsız',
48 ],
49 'кулюмсиреди külümsiredi айтмайджагъым aytmaycağım козьяшсыз közyaşsız'
50 ],
51 [ // exception words
52 [
53 'crh' => 'инструменталь instrumental гургуль gürgül тюшюнмемек tüşünmemek',
54 'crh-cyrl' => 'инструменталь инструменталь гургуль гургуль тюшюнмемек тюшюнмемек',
55 'crh-latn' => 'instrumental instrumental gürgül gürgül tüşünmemek tüşünmemek',
56 ],
57 'инструменталь instrumental гургуль gürgül тюшюнмемек tüşünmemek'
58 ],
59 [ // recent problem words, part 1
60 [
61 'crh' => 'künü куню sürgünligi сюргюнлиги özü озю etti этти esas эсас dört дёрт',
62 'crh-cyrl' => 'куню куню сюргюнлиги сюргюнлиги озю озю этти этти эсас эсас дёрт дёрт',
63 'crh-latn' => 'künü künü sürgünligi sürgünligi özü özü etti etti esas esas dört dört',
64 ],
65 'künü куню sürgünligi сюргюнлиги özü озю etti этти esas эсас dört дёрт'
66 ],
67 [ // recent problem words, part 2
68 [
69 'crh' => 'keldi кельди km² км² yüz юзь AQŞ АКъШ ŞSCBnen ШСДжБнен iyül июль',
70 'crh-cyrl' => 'кельди кельди км² км² юзь юзь АКъШ АКъШ ШСДжБнен ШСДжБнен июль июль',
71 'crh-latn' => 'keldi keldi km² km² yüz yüz AQŞ AQŞ ŞSCBnen ŞSCBnen iyül iyül',
72 ],
73 'keldi кельди km² км² yüz юзь AQŞ АКъШ ŞSCBnen ШСДжБнен iyül июль'
74 ],
75 [ // recent problem words, part 3
76 [
77 'crh' => 'işğal ишгъаль işğalcilerine ишгъальджилерине rayon район üst усть',
78 'crh-cyrl' => 'ишгъаль ишгъаль ишгъальджилерине ишгъальджилерине район район усть усть',
79 'crh-latn' => 'işğal işğal işğalcilerine işğalcilerine rayon rayon üst üst',
80 ],
81 'işğal ишгъаль işğalcilerine ишгъальджилерине rayon район üst усть'
82 ],
83 [ // recent problem words, part 4
84 [
85 'crh' => 'rayonınıñ районынынъ Noğay Ногъай Yürtü Юрьтю vatandan ватандан',
86 'crh-cyrl' => 'районынынъ районынынъ Ногъай Ногъай Юрьтю Юрьтю ватандан ватандан',
87 'crh-latn' => 'rayonınıñ rayonınıñ Noğay Noğay Yürtü Yürtü vatandan vatandan',
88 ],
89 'rayonınıñ районынынъ Noğay Ногъай Yürtü Юрьтю vatandan ватандан'
90 ],
91 [ // recent problem words, part 5
92 [
93 'crh' => 'ком-кок köm-kök rol роль AQQI АКЪКЪЫ DAĞĞA ДАГЪГЪА 13-ünci 13-юнджи',
94 'crh-cyrl' => 'ком-кок ком-кок роль роль АКЪКЪЫ АКЪКЪЫ ДАГЪГЪА ДАГЪГЪА 13-юнджи 13-юнджи',
95 'crh-latn' => 'köm-kök köm-kök rol rol AQQI AQQI DAĞĞA DAĞĞA 13-ünci 13-ünci',
96 ],
97 'ком-кок köm-kök rol роль AQQI АКЪКЪЫ DAĞĞA ДАГЪГЪА 13-ünci 13-юнджи'
98 ],
99 [ // recent problem words, part 6
100 [
101 'crh' => 'ДЖУРЬМЕК CÜRMEK кетсин ketsin джумлеси cümlesi ильи ilyi Ильи İlyi',
102 'crh-cyrl' => 'ДЖУРЬМЕК ДЖУРЬМЕК кетсин кетсин джумлеси джумлеси ильи ильи Ильи Ильи',
103 'crh-latn' => 'CÜRMEK CÜRMEK ketsin ketsin cümlesi cümlesi ilyi ilyi İlyi İlyi',
104 ],
105 'ДЖУРЬМЕК CÜRMEK кетсин ketsin джумлеси cümlesi ильи ilyi Ильи İlyi'
106 ],
107 [ // recent problem words, part 7
108 [
109 'crh' => 'бруцел brutsel коцюб kotsüb плацен platsen эпицентр epitsentr',
110 'crh-cyrl' => 'бруцел бруцел коцюб коцюб плацен плацен эпицентр эпицентр',
111 'crh-latn' => 'brutsel brutsel kotsüb kotsüb platsen platsen epitsentr epitsentr',
112 ],
113 'бруцел brutsel коцюб kotsüb плацен platsen эпицентр epitsentr'
114 ],
115 [ // regex pattern words
116 [
117 'crh' => 'köyünden коюнден ange аньге',
118 'crh-cyrl' => 'коюнден коюнден аньге аньге',
119 'crh-latn' => 'köyünden köyünden ange ange',
120 ],
121 'köyünden коюнден ange аньге'
122 ],
123 [ // multi part words
124 [
125 'crh' => 'эки юз eki yüz',
126 'crh-cyrl' => 'эки юз эки юз',
127 'crh-latn' => 'eki yüz eki yüz',
128 ],
129 'эки юз eki yüz'
130 ],
131 [ // affix patterns
132 [
133 'crh' => 'köyniñ койнинъ Avcıköyde Авджыкойде ekvatorial экваториаль Canköy Джанкой',
134 'crh-cyrl' => 'койнинъ койнинъ Авджыкойде Авджыкойде экваториаль экваториаль Джанкой Джанкой',
135 'crh-latn' => 'köyniñ köyniñ Avcıköyde Avcıköyde ekvatorial ekvatorial Canköy Canköy',
136 ],
137 'köyniñ койнинъ Avcıköyde Авджыкойде ekvatorial экваториаль Canköy Джанкой'
138 ],
139 [ // Roman numerals and quotes, esp. single-letter Roman numerals at the end of a string
140 [
141 'crh' => 'VI,VII IX “dört” «дёрт» XI XII I V X L C D M',
142 'crh-cyrl' => 'VI,VII IX «дёрт» «дёрт» XI XII I V X L C D M',
143 'crh-latn' => 'VI,VII IX “dört” "dört" XI XII I V X L C D M',
144 ],
145 'VI,VII IX “dört” «дёрт» XI XII I V X L C D M'
146 ],
147 [ // Roman numerals vs Initials, part 1 - Roman numeral initials without spaces
148 [
149 'crh' => 'A.B.C.D.M. Qadırova XII, А.Б.Дж.Д.М. Къадырова XII',
150 'crh-cyrl' => 'А.Б.Дж.Д.М. Къадырова XII, А.Б.Дж.Д.М. Къадырова XII',
151 'crh-latn' => 'A.B.C.D.M. Qadırova XII, A.B.C.D.M. Qadırova XII',
152 ],
153 'A.B.C.D.M. Qadırova XII, А.Б.Дж.Д.М. Къадырова XII'
154 ],
155 [ // Roman numerals vs Initials, part 2 - Roman numeral initials with spaces
156 [
157 'crh' => 'G. H. I. V. X. L. Memetov III, Г. Х. Ы. В. X. Л. Меметов III',
158 'crh-cyrl' => 'Г. Х. Ы. В. X. Л. Меметов III, Г. Х. Ы. В. X. Л. Меметов III',
159 'crh-latn' => 'G. H. I. V. X. L. Memetov III, G. H. I. V. X. L. Memetov III',
160 ],
161 'G. H. I. V. X. L. Memetov III, Г. Х. Ы. В. X. Л. Меметов III'
162 ],
163 [ // ALL CAPS, made up acronyms
164 [
165 'crh' => 'ÑAB QIC ĞUK COT НЪАБ КЪЫДЖ ГЪУК ДЖОТ CA ДЖА',
166 'crh-cyrl' => 'НЪАБ КЪЫДЖ ГЪУК ДЖОТ НЪАБ КЪЫДЖ ГЪУК ДЖОТ ДЖА ДЖА',
167 'crh-latn' => 'ÑAB QIC ĞUK COT ÑAB QIC ĞUK COT CA CA',
168 ],
169 'ÑAB QIC ĞUK COT НЪАБ КЪЫДЖ ГЪУК ДЖОТ CA ДЖА'
170 ],
171 [ // Many-to-one mappings: many Cyrillic to one Latin
172 [
173 'crh' => 'шофер шофёр şoför корбекул корьбекул корьбекуль körbekül',
174 'crh-cyrl' => 'шофер шофёр шофёр корбекул корьбекул корьбекуль корьбекуль',
175 'crh-latn' => 'şoför şoför şoför körbekül körbekül körbekül körbekül',
176 ],
177 'шофер шофёр şoför корбекул корьбекул корьбекуль körbekül'
178 ],
179 [ // Many-to-one mappings: many Latin to one Cyrillic
180 [
181 'crh' => 'fevqülade fevqulade февкъульаде beyude beyüde бейуде',
182 'crh-cyrl' => 'февкъульаде февкъульаде февкъульаде бейуде бейуде бейуде',
183 'crh-latn' => 'fevqülade fevqulade fevqulade beyude beyüde beyüde',
184 ],
185 'fevqülade fevqulade февкъульаде beyude beyüde бейуде'
186 ],
187 ];
188 }
189 }