Merge "Add tests for LanguageConverter classes that didn't have them"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Thu, 11 Feb 2016 04:06:00 +0000 (04:06 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 11 Feb 2016 04:06:00 +0000 (04:06 +0000)
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'   => '一地裡',
+                               ),
+                               '一地里'
+                       ),
+               );
+       }
+}