6 * @covers MediaWiki\Languages\Data\CrhExceptions
8 class LanguageCrhTest
extends LanguageClassesTestCase
{
10 * @dataProvider provideAutoConvertToAllVariants
11 * @covers Language::autoConvertToAllVariants
13 public function testAutoConvertToAllVariants( $result, $value ) {
14 $this->assertEquals( $result, $this->getLang()->autoConvertToAllVariants( $value ) );
17 public static function provideAutoConvertToAllVariants() {
19 [ // general words, covering more of the alphabet
21 'crh' => 'рузгярнынъ ruzgârnıñ Париж Parij',
22 'crh-cyrl' => 'рузгярнынъ рузгярнынъ Париж Париж',
23 'crh-latn' => 'ruzgârnıñ ruzgârnıñ Parij Parij',
25 'рузгярнынъ ruzgârnıñ Париж Parij'
27 [ // general words, covering more of the alphabet
29 'crh' => 'чёкюч çöküç элифбени elifbeni полициясы politsiyası',
30 'crh-cyrl' => 'чёкюч чёкюч элифбени элифбени полициясы полициясы',
31 'crh-latn' => 'çöküç çöküç elifbeni elifbeni politsiyası politsiyası',
33 'чёкюч çöküç элифбени elifbeni полициясы politsiyası'
35 [ // general words, covering more of the alphabet
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',
41 'хусусында hususında акъшамларны aqşamlarnı опькеленюв öpkelenüv'
43 [ // general words, covering more of the alphabet
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',
49 'кулюмсиреди külümsiredi айтмайджагъым aytmaycağım козьяшсыз közyaşsız'
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',
57 'инструменталь instrumental гургуль gürgül тюшюнмемек tüşünmemek'
59 [ // recent problem words, part 1
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',
65 'künü куню sürgünligi сюргюнлиги özü озю etti этти esas эсас dört дёрт'
67 [ // recent problem words, part 2
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',
73 'keldi кельди km² км² yüz юзь AQŞ АКъШ ŞSCBnen ШСДжБнен iyül июль'
75 [ // recent problem words, part 3
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',
81 'işğal ишгъаль işğalcilerine ишгъальджилерине rayon район üst усть'
83 [ // recent problem words, part 4
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',
89 'rayonınıñ районынынъ Noğay Ногъай Yürtü Юрьтю vatandan ватандан'
91 [ // recent problem words, part 5
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',
97 'ком-кок köm-kök rol роль AQQI АКЪКЪЫ DAĞĞA ДАГЪГЪА 13-ünci 13-юнджи'
99 [ // recent problem words, part 6
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',
105 'ДЖУРЬМЕК CÜRMEK кетсин ketsin джумлеси cümlesi ильи ilyi Ильи İlyi'
107 [ // recent problem words, part 7
109 'crh' => 'бруцел brutsel коцюб kotsüb плацен platsen эпицентр epitsentr',
110 'crh-cyrl' => 'бруцел бруцел коцюб коцюб плацен плацен эпицентр эпицентр',
111 'crh-latn' => 'brutsel brutsel kotsüb kotsüb platsen platsen epitsentr epitsentr',
113 'бруцел brutsel коцюб kotsüb плацен platsen эпицентр epitsentr'
115 [ // regex pattern words
117 'crh' => 'köyünden коюнден ange аньге',
118 'crh-cyrl' => 'коюнден коюнден аньге аньге',
119 'crh-latn' => 'köyünden köyünden ange ange',
121 'köyünden коюнден ange аньге'
123 [ // multi part words
125 'crh' => 'эки юз eki yüz',
126 'crh-cyrl' => 'эки юз эки юз',
127 'crh-latn' => 'eki yüz eki yüz',
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',
137 'köyniñ койнинъ Avcıköyde Авджыкойде ekvatorial экваториаль Canköy Джанкой'
139 [ // Roman numerals and quotes, esp. single-letter Roman numerals at the end of a string
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',
145 'VI,VII IX “dört” «дёрт» XI XII I V X L C D M'
147 [ // Roman numerals vs Initials, part 1 - Roman numeral initials without spaces
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',
153 'A.B.C.D.M. Qadırova XII, А.Б.Дж.Д.М. Къадырова XII'
155 [ // Roman numerals vs Initials, part 2 - Roman numeral initials with spaces
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',
161 'G. H. I. V. X. L. Memetov III, Г. Х. Ы. В. X. Л. Меметов III'
163 [ // ALL CAPS, made up acronyms
165 'crh' => 'ÑAB QIC ĞUK COT НЪАБ КЪЫДЖ ГЪУК ДЖОТ CA ДЖА',
166 'crh-cyrl' => 'НЪАБ КЪЫДЖ ГЪУК ДЖОТ НЪАБ КЪЫДЖ ГЪУК ДЖОТ ДЖА ДЖА',
167 'crh-latn' => 'ÑAB QIC ĞUK COT ÑAB QIC ĞUK COT CA CA',
169 'ÑAB QIC ĞUK COT НЪАБ КЪЫДЖ ГЪУК ДЖОТ CA ДЖА'
171 [ // Many-to-one mappings: many Cyrillic to one Latin
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',
177 'шофер шофёр şoför корбекул корьбекул корьбекуль körbekül'
179 [ // Many-to-one mappings: many Latin to one Cyrillic
181 'crh' => 'fevqülade fevqulade февкъульаде beyude beyüde бейуде',
182 'crh-cyrl' => 'февкъульаде февкъульаде февкъульаде бейуде бейуде бейуде',
183 'crh-latn' => 'fevqülade fevqulade fevqulade beyude beyüde beyüde',
185 'fevqülade fevqulade февкъульаде beyude beyüde бейуде'