--- /dev/null
+<?php
+
+class LanguageGanTest extends LanguageClassesTestCase {
+ /**
+ * @dataProvider provideAutoConvertToAllVariants
+ * @covers Language::autoConvertToAllVariants
+ */
+ public function testAutoConvertToAllVariants( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->autoConvertToAllVariants( $value ) );
+ }
+
+ public static function provideAutoConvertToAllVariants() {
+ return array(
+ // zh2Hans
+ array(
+ array(
+ 'gan' => '㑯',
+ 'gan-hans' => '㑔',
+ 'gan-hant' => '㑯',
+ ),
+ '㑯'
+ ),
+ // zh2Hant
+ array(
+ array(
+ 'gan' => '㐷',
+ 'gan-hans' => '㐷',
+ 'gan-hant' => '傌',
+ ),
+ '㐷'
+ ),
+ );
+ }
+}
--- /dev/null
+<?php
+
+class LanguageIuTest extends LanguageClassesTestCase {
+ /**
+ * @dataProvider provideAutoConvertToAllVariants
+ * @covers Language::autoConvertToAllVariants
+ */
+ public function testAutoConvertToAllVariants( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->autoConvertToAllVariants( $value ) );
+ }
+
+ public static function provideAutoConvertToAllVariants() {
+ return array(
+ // ike-cans
+ array(
+ array(
+ 'ike-cans' => 'ᐴ',
+ 'ike-latn' => 'PUU',
+ 'iu' => 'PUU',
+ ),
+ 'PUU'
+ ),
+ // ike-latn
+ array(
+ array(
+ 'ike-cans' => 'ᐴ',
+ 'ike-latn' => 'puu',
+ 'iu' => 'ᐴ',
+ ),
+ 'ᐴ'
+ ),
+ );
+ }
+}
--- /dev/null
+<?php
+
+class LanguageKkTest extends LanguageClassesTestCase {
+ /**
+ * @dataProvider provideAutoConvertToAllVariants
+ * @covers Language::autoConvertToAllVariants
+ */
+ public function testAutoConvertToAllVariants( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->autoConvertToAllVariants( $value ) );
+ }
+
+ public static function provideAutoConvertToAllVariants() {
+ return array(
+ array(
+ array(
+ 'kk' => 'Адамдарға ақыл-парасат, ар-ождан берілген',
+ 'kk-cyrl' => 'Адамдарға ақыл-парасат, ар-ождан берілген',
+ 'kk-latn' => 'Adamdarğa aqıl-parasat, ar-ojdan berilgen',
+ 'kk-arab' => 'ادامدارعا اقىل-پاراسات، ار-وجدان بەرىلگەن',
+ 'kk-kz' => 'Адамдарға ақыл-парасат, ар-ождан берілген',
+ 'kk-tr' => 'Adamdarğa aqıl-parasat, ar-ojdan berilgen',
+ 'kk-cn' => 'ادامدارعا اقىل-پاراسات، ار-وجدان بەرىلگەن'
+ ),
+ 'Адамдарға ақыл-парасат, ар-ождан берілген'
+ ),
+ );
+ }
+}
--- /dev/null
+<?php
+
+class LanguageKuTest extends LanguageClassesTestCase {
+ /**
+ * @dataProvider provideAutoConvertToAllVariants
+ * @covers Language::autoConvertToAllVariants
+ */
+ public function testAutoConvertToAllVariants( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->autoConvertToAllVariants( $value ) );
+ }
+
+ public static function provideAutoConvertToAllVariants() {
+ return array(
+ array(
+ array(
+ 'ku' => '١',
+ 'ku-arab' => '١',
+ 'ku-latn' => '1',
+ ),
+ '١'
+ ),
+ array(
+ array(
+ 'ku' => 'Wîkîpediya ensîklopediyeke azad bi rengê wîkî ye.',
+ 'ku-arab' => 'ویکیپەدیائە نسیکلۆپەدیەکەئا زاد ب رەنگێ ویکی یە.',
+ 'ku-latn' => 'Wîkîpediya ensîklopediyeke azad bi rengê wîkî ye.',
+ ),
+ 'Wîkîpediya ensîklopediyeke azad bi rengê wîkî ye.'
+ ),
+ array(
+ array(
+ 'ku' => 'ویکیپەدیا ەنسیکلۆپەدیەکەئا زاد ب رەنگێ ویکی یە.',
+ 'ku-arab' => 'ویکیپەدیا ەنسیکلۆپەدیەکەئا زاد ب رەنگێ ویکی یە.',
+ 'ku-latn' => 'wîkîpedîa ensîklopedîekea zad b rengê wîkî îe.',
+ ),
+ 'ویکیپەدیا ەنسیکلۆپەدیەکەئا زاد ب رەنگێ ویکی یە.'
+ ),
+ );
+ }
+}
--- /dev/null
+<?php
+
+class LanguageShiTest extends LanguageClassesTestCase {
+ /**
+ * @dataProvider provideAutoConvertToAllVariants
+ * @covers Language::autoConvertToAllVariants
+ */
+ public function testAutoConvertToAllVariants( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->autoConvertToAllVariants( $value ) );
+ }
+
+ public static function provideAutoConvertToAllVariants() {
+ return array(
+ array(
+ array(
+ 'shi' => 'AƔ',
+ 'shi-tfng' => 'ⴰⵖ',
+ 'shi-latn' => 'AƔ',
+ ),
+ 'AƔ'
+ ),
+ array(
+ array(
+ 'shi' => 'ⴰⵖ',
+ 'shi-tfng' => 'ⴰⵖ',
+ 'shi-latn' => 'aɣ',
+ ),
+ 'ⴰⵖ'
+ ),
+ );
+ }
+}
--- /dev/null
+<?php
+
+class LanguageTgTest extends LanguageClassesTestCase {
+ /**
+ * @dataProvider provideAutoConvertToAllVariants
+ * @covers Language::autoConvertToAllVariants
+ */
+ public function testAutoConvertToAllVariants( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->autoConvertToAllVariants( $value ) );
+ }
+
+ public static function provideAutoConvertToAllVariants() {
+ return array(
+ array(
+ array(
+ 'tg' => 'г',
+ 'tg-latn' => 'g',
+ ),
+ 'г'
+ ),
+ array(
+ array(
+ 'tg' => 'g',
+ 'tg-latn' => 'g',
+ ),
+ 'g'
+ ),
+ );
+ }
+}
--- /dev/null
+<?php
+
+class LanguageZhTest extends LanguageClassesTestCase {
+ /**
+ * @dataProvider provideAutoConvertToAllVariants
+ * @covers Language::autoConvertToAllVariants
+ */
+ public function testAutoConvertToAllVariants( $result, $value ) {
+ $this->assertEquals( $result, $this->getLang()->autoConvertToAllVariants( $value ) );
+ }
+
+ public static function provideAutoConvertToAllVariants() {
+ return array(
+ // Plain hant -> hans
+ array(
+ array(
+ 'zh' => '㑯',
+ 'zh-hans' => '㑔',
+ 'zh-hant' => '㑯',
+ 'zh-cn' => '㑔',
+ 'zh-hk' => '㑯',
+ 'zh-mo' => '㑯',
+ 'zh-my' => '㑔',
+ 'zh-sg' => '㑔',
+ 'zh-tw' => '㑯',
+ ),
+ '㑯'
+ ),
+ // Plain hans -> hant
+ array(
+ array(
+ 'zh' => '㐷',
+ 'zh-hans' => '㐷',
+ 'zh-hant' => '傌',
+ 'zh-cn' => '㐷',
+ 'zh-hk' => '傌',
+ 'zh-mo' => '傌',
+ 'zh-my' => '㐷',
+ 'zh-sg' => '㐷',
+ 'zh-tw' => '傌',
+ ),
+ '㐷'
+ ),
+ // zh-cn specific
+ array(
+ array(
+ 'zh' => '仲介',
+ 'zh-hans' => '仲介',
+ 'zh-hant' => '仲介',
+ 'zh-cn' => '中介',
+ 'zh-hk' => '仲介',
+ 'zh-mo' => '仲介',
+ 'zh-my' => '中介',
+ 'zh-sg' => '中介',
+ 'zh-tw' => '仲介',
+ ),
+ '仲介'
+ ),
+ // zh-hk specific
+ array(
+ array(
+ 'zh' => '中文里',
+ 'zh-hans' => '中文里',
+ 'zh-hant' => '中文裡',
+ 'zh-cn' => '中文里',
+ 'zh-hk' => '中文裏',
+ 'zh-mo' => '中文裏',
+ 'zh-my' => '中文里',
+ 'zh-sg' => '中文里',
+ 'zh-tw' => '中文裡',
+ ),
+ '中文里'
+ ),
+ // zh-tw specific
+ array(
+ array(
+ 'zh' => '甲肝',
+ 'zh-hans' => '甲肝',
+ 'zh-hant' => '甲肝',
+ 'zh-cn' => '甲肝',
+ 'zh-hk' => '甲肝',
+ 'zh-mo' => '甲肝',
+ 'zh-my' => '甲肝',
+ 'zh-sg' => '甲肝',
+ 'zh-tw' => 'A肝',
+ ),
+ '甲肝'
+ ),
+ // zh-tw overrides zh-hant
+ array(
+ array(
+ 'zh' => '账',
+ 'zh-hans' => '账',
+ 'zh-hant' => '賬',
+ 'zh-cn' => '账',
+ 'zh-hk' => '賬',
+ 'zh-mo' => '賬',
+ 'zh-my' => '账',
+ 'zh-sg' => '账',
+ 'zh-tw' => '帳',
+ ),
+ '账'
+ ),
+ // zh-hk overrides zh-hant
+ array(
+ array(
+ 'zh' => '一地里',
+ 'zh-hans' => '一地里',
+ 'zh-hant' => '一地裡',
+ 'zh-cn' => '一地里',
+ 'zh-hk' => '一地裏',
+ 'zh-mo' => '一地裏',
+ 'zh-my' => '一地里',
+ 'zh-sg' => '一地里',
+ 'zh-tw' => '一地裡',
+ ),
+ '一地里'
+ ),
+ );
+ }
+}