Merge "Improve test coverage for ApiBase.php"
[lhc/web/wiklou.git] / languages / classes / LanguageKu.php
index ee54b8b..b90ca41 100644 (file)
@@ -27,7 +27,7 @@
  * @ingroup Language
  */
 class KuConverter extends LanguageConverter {
-       public $mArabicToLatin = array(
+       public $mArabicToLatin = [
                'ب' => 'b', 'ج' => 'c', 'چ' => 'ç', 'د' => 'd', 'ف' => 'f', 'گ' => 'g', 'ھ' => 'h',
                'ہ' => 'h', 'ه' => 'h', 'ح' => 'h', 'ژ' => 'j', 'ك' => 'k', 'ک' => 'k', 'ل' => 'l',
                'م' => 'm', 'ن' => 'n', 'پ' => 'p', 'ق' => 'q', 'ر' => 'r', 'س' => 's', 'ش' => 'ş',
@@ -67,9 +67,9 @@ class KuConverter extends LanguageConverter {
                '٧' => '7', # ٧
                '٨' => '8', # ٨
                '٩' => '9', # ٩
-       );
+       ];
 
-       public $mLatinToArabic = array(
+       public $mLatinToArabic = [
                'b' => 'ب', 'c' => 'ج', 'ç' => 'چ', 'd' => 'د', 'f' => 'ف', 'g' => 'گ',
                'h' => 'ه', 'j' => 'ژ', 'k' => 'ک', 'l' => 'ل',
                'm' => 'م', 'n' => 'ن', 'p' => 'پ', 'q' => 'ق', 'r' => 'ر', 's' => 'س', 'ş' => 'ش',
@@ -141,14 +141,14 @@ class KuConverter extends LanguageConverter {
                '8' => '٨', # ٨
                '9' => '٩', # ٩
 */
-               );
+               ];
 
        function loadDefaultTables() {
-               $this->mTables = array(
+               $this->mTables = [
                        'ku-latn' => new ReplacementArray( $this->mArabicToLatin ),
                        'ku-arab' => new ReplacementArray( $this->mLatinToArabic ),
                        'ku' => new ReplacementArray()
-               );
+               ];
        }
 
        /**
@@ -192,7 +192,8 @@ class KuConverter extends LanguageConverter {
                /* From Kazakh interface, maybe we need it later
                $breaks = '[^\w\x80-\xff]';
                // regexp for roman numbers
-               $roman = 'M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})';
+               // Lookahead assertion ensures $roman doesn't match the empty string
+               $roman = '(?=[MDCLXVI])M{0,4}(C[DM]|D?C{0,3})(X[LC]|L?X{0,3})(I[VX]|V?I{0,3})';
                $roman = '';
 
                $reg = '/^'.$roman.'$|^'.$roman.$breaks.'|'.$breaks.$roman.'$|'.$breaks.$roman.$breaks.'/';
@@ -227,17 +228,17 @@ class KuConverter extends LanguageConverter {
  *
  * @ingroup Language
  */
-class LanguageKu extends LanguageKu_ku {
+class LanguageKu extends Language {
 
        function __construct() {
                parent::__construct();
 
-               $variants = array( 'ku', 'ku-arab', 'ku-latn' );
-               $variantfallbacks = array(
+               $variants = [ 'ku', 'ku-arab', 'ku-latn' ];
+               $variantfallbacks = [
                        'ku' => 'ku-latn',
                        'ku-arab' => 'ku-latn',
                        'ku-latn' => 'ku-arab',
-               );
+               ];
 
                $this->mConverter = new KuConverter( $this, 'ku', $variants, $variantfallbacks );
        }