summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/UniversalLanguageSelector/tests/phpunit/LanguageSearchTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/UniversalLanguageSelector/tests/phpunit/LanguageSearchTest.php')
-rw-r--r--www/wiki/extensions/UniversalLanguageSelector/tests/phpunit/LanguageSearchTest.php127
1 files changed, 127 insertions, 0 deletions
diff --git a/www/wiki/extensions/UniversalLanguageSelector/tests/phpunit/LanguageSearchTest.php b/www/wiki/extensions/UniversalLanguageSelector/tests/phpunit/LanguageSearchTest.php
new file mode 100644
index 00000000..ce6a614d
--- /dev/null
+++ b/www/wiki/extensions/UniversalLanguageSelector/tests/phpunit/LanguageSearchTest.php
@@ -0,0 +1,127 @@
+<?php
+/**
+ * PHPUnit tests for UniversalLanguageSelector extension.
+ *
+ * Copyright (C) 2012 Alolita Sharma, Amir Aharoni, Arun Ganesh, Brandon Harris,
+ * Niklas Laxström, Pau Giner, Santhosh Thottingal, Siebrand Mazeland and other
+ * contributors. See CREDITS for a list.
+ *
+ * UniversalLanguageSelector is dual licensed GPLv2 or later and MIT. You don't
+ * have to do anything special to choose one license or the other and you don't
+ * have to notify anyone which license you are using. You are free to use
+ * UniversalLanguageSelector in commercial projects as long as the copyright
+ * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.
+ *
+ * @file
+ * @ingroup Extensions
+ * @license GPL-2.0-or-later
+ * @license MIT
+ */
+
+/**
+ * @covers \LanguageNameSearch
+ * @covers \LanguageNameSearchData
+ */
+class LanguageSearchTest extends PHPUnit\Framework\TestCase {
+ /**
+ * @dataProvider searchDataProvider
+ */
+ public function testSearch( $searchKey, $expected ) {
+ $actual = LanguageNameSearch::search( $searchKey, 1, 'en' );
+ // This is for better error messages
+ $this->assertEquals( $expected, $actual );
+ // This is for identical order
+ $this->assertSame( $expected, $actual );
+ }
+
+ public function searchDataProvider() {
+ return [
+ [ 'ഹിന്ദി', [
+ 'hi' => 'ഹിന്ദി'
+ ]
+ ],
+ [ 'മല', [
+ 'mg' => 'മലഗാസി',
+ 'ml' => 'മലയാളം',
+ 'ms' => 'മലെയ്',
+ ]
+ ],
+ [ 'Φινλαν', [
+ 'fi' => 'φινλανδικά',
+ ]
+ ],
+ [ 'blargh', []
+ ],
+ [ 'الفرنسية', [
+ 'fr' => 'الفرنسية',
+ 'fr-ch' => 'الفرنسية السويسرية',
+ 'fro' => 'الفرنسية القديمة',
+ 'frc' => 'الفرنسية الكاجونية',
+ 'crs' => 'الفرنسية الكريولية السيشيلية',
+ 'fr-ca' => 'الفرنسية الكندية',
+ 'frm' => 'الفرنسية الوسطى',
+ ]
+ ],
+ [ 'മലയളം', [
+ 'ml' => 'മലയാളം',
+ ]
+ ],
+ [ 'punja', [
+ 'pa' => class_exists( LanguageNames::class ) ? 'punjabi' : 'punjaabi sennii',
+ 'pnb' => 'punjabi western',
+ ]
+ ],
+ [ 'castellano', [
+ 'es' => 'castellano',
+ ]
+ ],
+ [ 'hayeren', [
+ 'hy' => 'hayeren',
+ ]
+ ],
+ [ 'kartuli', [
+ 'ka' => 'kartuli',
+ ]
+ ],
+ [ 'qartuli', [
+ 'ka' => 'qartuli',
+ ]
+ ],
+ [ 'nihongo', [
+ 'ja' => 'nihongo',
+ ]
+ ],
+ [ 'にほんご', [
+ 'ja' => 'にほんご',
+ ]
+ ],
+ [ 'valencia', [
+ 'ca' => 'valencia',
+ ]
+ ],
+ [ 'chinese', [
+ 'zh' => 'chinese',
+ 'zh-cn' => 'chinese (china)',
+ 'zh-hk' => 'chinese (hong kong)',
+ 'zh-min-nan' => 'chinese (min nan)',
+ 'zh-sg' => 'chinese (singapore)',
+ 'zh-tw' => 'chinese (taiwan)',
+ 'zh-hans' => 'chinese simplified',
+ 'zh-hant' => 'chinese traditional',
+ 'zh-classical' => 'chinese — classical chinese',
+ 'gan' => 'chinese — gan chinese',
+ 'hak' => 'chinese — hakka chinese',
+ 'nan' => 'chinese — isi-min nan chinese',
+ 'wuu' => 'chinese — isi-wu chinese',
+ 'hsn' => 'chinese — isi-xiang chinese',
+ 'lzh' => 'chinese — literary chinese',
+ 'cdo' => 'chinese — min dong chinese',
+ ]
+ ],
+ [ 'finish', [
+ 'fi' => 'finnish'
+ ]
+ ],
+ ];
+ }
+}