summaryrefslogtreecommitdiff
path: root/www/wiki/tests/phpunit/includes/collation/CollationFaTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/tests/phpunit/includes/collation/CollationFaTest.php')
-rw-r--r--www/wiki/tests/phpunit/includes/collation/CollationFaTest.php55
1 files changed, 55 insertions, 0 deletions
diff --git a/www/wiki/tests/phpunit/includes/collation/CollationFaTest.php b/www/wiki/tests/phpunit/includes/collation/CollationFaTest.php
new file mode 100644
index 00000000..f7455419
--- /dev/null
+++ b/www/wiki/tests/phpunit/includes/collation/CollationFaTest.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * @covers CollationFa
+ */
+class CollationFaTest extends MediaWikiTestCase {
+
+ /*
+ * The ordering is a weird hack designed to work only with a very
+ * specific version of libicu, and as such can't really be unit tested
+ * against a random version of libicu
+ */
+
+ public function setUp() {
+ parent::setUp();
+ $this->checkPHPExtension( 'intl' );
+ }
+
+ /**
+ * @dataProvider provideGetFirstLetter
+ */
+ public function testGetFirstLetter( $letter, $str ) {
+ $coll = new CollationFa;
+ $this->assertEquals( $letter, $coll->getFirstLetter( $str ), $str );
+ }
+
+ public function provideGetFirstLetter() {
+ return [
+ [
+ '۷',
+ '۷'
+ ],
+ [
+ 'ا',
+ 'ا'
+ ],
+ [
+ 'ا',
+ 'ایران'
+ ],
+ [
+ 'ب',
+ 'برلین'
+ ],
+ [
+ 'و',
+ 'واو'
+ ],
+ [ "\xd8\xa7", "\xd8\xa7Foo" ],
+ [ "\xd9\x88", "\xd9\x88Foo" ],
+ [ "\xd9\xb2", "\xd9\xb2Foo" ],
+ [ "\xd9\xb3", "\xd9\xb3Foo" ],
+ ];
+ }
+}