Add tests for LanguageConverter classes that didn't have them
authorTim Starling <tstarling@wikimedia.org>
Mon, 1 Feb 2016 02:37:36 +0000 (13:37 +1100)
committerTim Starling <tstarling@wikimedia.org>
Sun, 7 Feb 2016 22:19:25 +0000 (09:19 +1100)
Some of them don't have many test cases, or have test cases that don't
represent the ideal transliteration and so are subject to change. But
this is better than nothing.

Change-Id: I4aae693bd77d9ff365f48113923ed7f9fed8d668

tests/phpunit/languages/classes/LanguageGanTest.php [new file with mode: 0644]
tests/phpunit/languages/classes/LanguageIuTest.php [new file with mode: 0644]
tests/phpunit/languages/classes/LanguageKkTest.php [new file with mode: 0644]
tests/phpunit/languages/classes/LanguageKuTest.php [new file with mode: 0644]
tests/phpunit/languages/classes/LanguageShiTest.php [new file with mode: 0644]
tests/phpunit/languages/classes/LanguageTgTest.php [new file with mode: 0644]
tests/phpunit/languages/classes/LanguageZhTest.php [new file with mode: 0644]

diff --git a/tests/phpunit/languages/classes/LanguageGanTest.php b/tests/phpunit/languages/classes/LanguageGanTest.php
new file mode 100644 (file)
index 0000000..d548380
--- /dev/null
@@ -0,0 +1,34 @@
+<?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' => '傌',
+                               ),
+                               '㐷'
+                       ),
+               );
+       }
+}
diff --git a/tests/phpunit/languages/classes/LanguageIuTest.php b/tests/phpunit/languages/classes/LanguageIuTest.php
new file mode 100644 (file)
index 0000000..4599e7a
--- /dev/null
@@ -0,0 +1,34 @@
+<?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' => 'ᐴ',
+                               ),
+                               'ᐴ'
+                       ),
+               );
+       }
+}
diff --git a/tests/phpunit/languages/classes/LanguageKkTest.php b/tests/phpunit/languages/classes/LanguageKkTest.php
new file mode 100644 (file)
index 0000000..33968d9
--- /dev/null
@@ -0,0 +1,28 @@
+<?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'   => 'ادامدارعا اقىل-پاراسات، ار-وجدان بەرىلگەن'
+                               ),
+                               'Адамдарға ақыл-парасат, ар-ождан берілген'
+                       ),
+               );
+       }
+}
diff --git a/tests/phpunit/languages/classes/LanguageKuTest.php b/tests/phpunit/languages/classes/LanguageKuTest.php
new file mode 100644 (file)
index 0000000..a87fae7
--- /dev/null
@@ -0,0 +1,40 @@
+<?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.',
+                               ),
+                               'ویکیپەدیا ەنسیکلۆپەدیەکەئا زاد ب رەنگێ ویکی یە.'
+                       ),
+               );
+       }
+}
diff --git a/tests/phpunit/languages/classes/LanguageShiTest.php b/tests/phpunit/languages/classes/LanguageShiTest.php
new file mode 100644 (file)
index 0000000..90843c1
--- /dev/null
@@ -0,0 +1,32 @@
+<?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ɣ',
+                               ),
+                               'ⴰⵖ'
+                       ),
+               );
+       }
+}
diff --git a/tests/phpunit/languages/classes/LanguageTgTest.php b/tests/phpunit/languages/classes/LanguageTgTest.php
new file mode 100644 (file)
index 0000000..ff3a7a4
--- /dev/null
@@ -0,0 +1,30 @@
+<?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'
+                       ),
+               );
+       }
+}
diff --git a/tests/phpunit/languages/classes/LanguageZhTest.php b/tests/phpunit/languages/classes/LanguageZhTest.php
new file mode 100644 (file)
index 0000000..f19d967
--- /dev/null
@@ -0,0 +1,121 @@
+<?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'   => '一地裡',
+                               ),
+                               '一地里'
+                       ),
+               );
+       }
+}