1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
<?php
/**
* PHPUnit tests for the Talysh converter.
* The language can be represented using two scripts:
* - Latin (tly)
* - Cyrillic (tly-cyrl)
*
* @author Amir E. Aharoni
*/
/**
* @group Language
* @covers \MediaWiki\Language\LanguageConverter
* @covers \TlyConverter
*/
class TlyConverterTest extends MediaWikiIntegrationTestCase {
use LanguageConverterTestTrait;
public function testConversionToCyrillic() {
// A conversion of Latin to Cyrillic
$this->assertEquals(
'АаБбВвГгҒғДдЕеӘәЖжЗзИиЫыЈјКкЛлМмНнОоПпРрСсТтУуҮүФфХхҺһЧчҸҹШш',
$this->convertToCyrillic(
'AaBbVvQqĞğDdEeƏəJjZzİiIıYyKkLlMmNnOoPpRrSsTtUuÜüFfXxHhÇçCcŞş'
)
);
// A simple conversion of Cyrillic to Cyrillic
$this->assertEquals( 'Лик',
$this->convertToCyrillic( 'Лик' )
);
// Assert that -{}-s are handled correctly
// NB: Latin word followed by Latin word, and the second one is converted
$this->assertEquals( 'Lankon Осторо',
$this->convertToCyrillic( '-{Lankon}- Ostoro' )
);
// Assert that -{}-s are handled correctly
// NB: Latin word followed by Cyrillic word, and nothing is converted
$this->assertEquals( 'Lankon Осторо',
$this->convertToCyrillic( '-{Lankon}- Осторо' )
);
}
public function testConversionToLatin() {
// A conversion of Cyrillic to Latin
$this->assertEquals(
'AaBbCcÇçDdEeƏəFfĞğHhXxIıİiJjKkQqLlMmNnOoPpRrSsŞşTtUuÜüVvYyZz',
$this->convertToLatin(
'АаБбҸҹЧчДдЕеӘәФфҒғҺһХхЫыИиЖжКкГгЛлМмНнОоПпРрСсШшТтУуҮүВвЈјЗз'
)
);
// A simple conversion of Latin to Latin
$this->assertEquals( 'Lik',
$this->convertToLatin( 'Lik' )
);
// Assert that -{}-s are handled correctly
// NB: Cyrillic word followed by Cyrillic word, and the second one is converted
$this->assertEquals( 'Ланкон Ostoro',
$this->convertToLatin( '-{Ланкон}- Осторо' )
);
// Assert that -{}-s are handled correctly
// NB: Cyrillic word followed by Latin word, and nothing is converted
$this->assertEquals( 'Ланкон Ostoro',
$this->convertToLatin( '-{Ланкон}- Ostoro' )
);
}
# #### HELPERS #####################################################
/**
* Wrapper for converter::convertTo() method
* @param string $text
* @param string $variant
* @return string
*/
protected function convertTo( $text, $variant ) {
return $this->getLanguageConverter()->convertTo( $text, $variant );
}
protected function convertToCyrillic( $text ) {
return $this->convertTo( $text, 'tly-cyrl' );
}
protected function convertToLatin( $text ) {
return $this->convertTo( $text, 'tly' );
}
}
|