7 class ShConverterTest
extends MediaWikiIntegrationTestCase
{
8 use LanguageConverterTestTrait
;
11 * @dataProvider provideAutoConvertToAllVariants
13 public function testAutoConvertToAllVariants( $result, $value ) {
14 $this->assertEquals( $result, $this->getLanguageConverter()->autoConvertToAllVariants( $value ) );
17 public static function provideAutoConvertToAllVariants() {
36 public function testConvertTo() {
37 $this->testConversionToLatin();
38 $this->testConversionToCyrillic();
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;}-' )
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;}-' )
90 * Wrapper for converter::convertTo() method
92 * @param string $variant
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' );