Update Codex from v1.20.0 to v1.20.1
[mediawiki.git] / tests / phpunit / includes / language / converters / ShConverterTest.php
blob4ab75add7b652a02598d3ba558dcea798d4a96f9
1 <?php
3 /**
4 * @group Language
5 * @covers \ShConverter
6 */
7 class ShConverterTest extends MediaWikiIntegrationTestCase {
8 use LanguageConverterTestTrait;
10 /**
11 * @dataProvider provideAutoConvertToAllVariants
13 public function testAutoConvertToAllVariants( $result, $value ) {
14 $this->assertEquals( $result, $this->getLanguageConverter()->autoConvertToAllVariants( $value ) );
17 public static function provideAutoConvertToAllVariants() {
18 return [
21 'sh-latn' => 'g',
22 'sh-cyrl' => 'г',
24 'g'
28 'sh-latn' => 'г',
29 'sh-cyrl' => 'г',
31 'г'
36 public function testConvertTo() {
37 $this->testConversionToLatin();
38 $this->testConversionToCyrillic();
41 /**
42 * Wrapper for testConvertTo() for Cyrillic
44 public function testConversionToCyrillic() {
45 // A simple conversion of Latin to Cyrillic
46 $this->assertEquals( 'абвг',
47 $this->convertToCyrillic( 'abvg' )
49 // Same as above, but assert that -{}-s must be removed and not converted
50 $this->assertEquals( 'ljабnjвгdž',
51 $this->convertToCyrillic( '-{lj}-ab-{nj}-vg-{dž}-' )
53 // A simple conversion of Cyrillic to Cyrillic
54 $this->assertEquals( 'абвг',
55 $this->convertToCyrillic( 'абвг' )
57 // Same as above, but assert that -{}-s must be removed and not converted
58 $this->assertEquals( 'ljабnjвгdž',
59 $this->convertToCyrillic( '-{lj}-аб-{nj}-вг-{dž}-' )
61 // Roman numerals are not converted
62 $this->assertEquals( 'а I б II в III г IV шђжчћ',
63 $this->convertToCyrillic( 'a I b II v III g IV šđžčć' )
65 // Manual conversion rules work
66 $this->assertEquals( 'Cyrillic',
67 $this->convertToCyrillic( '-{sh-latn:Latin; sh-cyrl:Cyrillic;}-' )
71 /**
72 * Wrapper for testConvertTo() for Latin
74 public function testConversionToLatin() {
75 // A simple conversion of Latin to Latin
76 $this->assertEquals( 'abvg',
77 $this->convertToLatin( 'abvg' )
79 // Same as above, but assert that -{}-s must be removed and not converted
80 $this->assertEquals( 'ljabnjvgdž',
81 $this->convertToLatin( '-{lj}-ab-{nj}-vg-{dž}-' )
83 // Manual conversion rules work
84 $this->assertEquals( 'Latin',
85 $this->convertToLatin( '-{sh-latn:Latin; sh-cyrl:Cyrillic;}-' )
89 /**
90 * Wrapper for converter::convertTo() method
91 * @param string $text
92 * @param string $variant
93 * @return string
95 protected function convertTo( $text, $variant ) {
96 return $this->getLanguageConverter()->convertTo( $text, $variant );
99 protected function convertToCyrillic( $text ) {
100 return $this->convertTo( $text, 'sh-cyrl' );
103 protected function convertToLatin( $text ) {
104 return $this->convertTo( $text, 'sh-latn' );