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