]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Added support for three word arabic months
authorIskren Chernev <iskren.chernev@gmail.com>
Tue, 2 Apr 2013 07:18:20 +0000 (00:18 -0700)
committerIskren Chernev <iskren.chernev@gmail.com>
Sat, 6 Apr 2013 06:45:17 +0000 (23:45 -0700)
moment.js
test/lang/ar.js

index 88d34edf8348169c065fa49c548becd561de3a27..1700d366c727dd7f1ef01da5794ded76c5217d22 100644 (file)
--- a/moment.js
+++ b/moment.js
@@ -36,7 +36,7 @@
         parseTokenThreeDigits = /\d{3}/, // 000 - 999
         parseTokenFourDigits = /\d{1,4}/, // 0 - 9999
         parseTokenSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999
-        parseTokenWord = /[0-9]*[a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF]+\s*?[\u0600-\u06FF]+/i, // any word (or two) characters or numbers including two word month in arabic.
+        parseTokenWord = /[0-9]*[a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic.
         parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/i, // +00:00 -00:00 +0000 -0000 or Z
         parseTokenT = /T/i, // T (ISO seperator)
         parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123
                     this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
                 }
                 // test the regex
+                // console.log("testing with regex " + this._monthsParse[i]);
                 if (this._monthsParse[i].test(monthName)) {
+                    // console.log("hit!");
                     return i;
                 }
             }
         var a, b,
             datePartArray = config._a;
 
+        // console.log('attaft ' + token + ' ' + input + ' ' + config);
+
         switch (token) {
         // MONTH
         case 'M' : // fall through to MM
 
         for (i = 0; i < tokens.length; i++) {
             parsedInput = (getParseRegexForToken(tokens[i]).exec(string) || [])[0];
+            // console.log('parsedInput: ' + parsedInput);
             if (parsedInput) {
                 string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
             }
index 0675b028da1d6a759629d194795f3e3d0436caad..4d4709624b76c7a25aa3b0c3440f62f19765e458 100644 (file)
@@ -15,7 +15,7 @@ exports["lang:ar"] = {
 
     "parse" : function(test) {
         test.expect(96);
-        var tests = 'Ù\83اÙ\86Ù\88Ù\86 Ø§Ù\84ثاÙ\86Ù\8a\83اÙ\86Ù\88Ù\86 Ø§Ù\84ثاÙ\86Ù\8a_ﺶïº\91ïº\8eï»\83:ﺶïº\91ïº\8eï»\83_آذار:آذار_Ù\86Ù\8aساÙ\86\86Ù\8aساÙ\86_Ø£Ù\8aار:Ø£Ù\8aار_حزÙ\8aراÙ\86:حزÙ\8aراÙ\86_تÙ\85Ù\88ز:تÙ\85Ù\88ز_آب:آب_Ø£Ù\8aÙ\84Ù\88Ù\84:Ø£Ù\8aÙ\84Ù\88Ù\84_تشرÙ\8aÙ\86 Ø§Ù\84Ø£Ù\88Ù\84:تشرÙ\8aÙ\86 Ø§Ù\84Ø£Ù\88Ù\84_تشرÙ\8aÙ\86 Ø§Ù\84ثاÙ\86Ù\8a:تشرÙ\8aÙ\86 Ø§Ù\84ثاÙ\86Ù\8a\83اÙ\86Ù\88Ù\86 Ø§Ù\84Ø£Ù\88Ù\84:كانون الأول'.split("_");
+        var tests = 'Ù\8aÙ\86اÙ\8aر/ Ù\83اÙ\86Ù\88Ù\86 Ø§Ù\84ثاÙ\86Ù\8a\8aÙ\86اÙ\8aر/ Ù\83اÙ\86Ù\88Ù\86 Ø§Ù\84ثاÙ\86Ù\8a\81براÙ\8aر/ Ø´Ø¨Ø§Ø·:Ù\81براÙ\8aر/ Ø´Ø¨Ø§Ø·_Ù\85ارس/ Ø¢Ø°Ø§Ø±:Ù\85ارس/ Ø¢Ø°Ø§Ø±_أبرÙ\8aÙ\84/ Ù\86Ù\8aساÙ\86:أبرÙ\8aÙ\84/ Ù\86Ù\8aساÙ\86\85اÙ\8aÙ\88/ Ø£Ù\8aار:Ù\85اÙ\8aÙ\88/ Ø£Ù\8aار_Ù\8aÙ\88Ù\86Ù\8aÙ\88/ Ø­Ø²Ù\8aراÙ\86\8aÙ\88Ù\86Ù\8aÙ\88/ Ø­Ø²Ù\8aراÙ\86\8aÙ\88Ù\84Ù\8aÙ\88/ ØªÙ\85Ù\88ز:Ù\8aÙ\88Ù\84Ù\8aÙ\88/ ØªÙ\85Ù\88ز_أغسطس/ Ø¢Ø¨:أغسطس/ Ø¢Ø¨_سبتÙ\85بر/ Ø£Ù\8aÙ\84Ù\88Ù\84:سبتÙ\85بر/ Ø£Ù\8aÙ\84Ù\88Ù\84_Ø£Ù\83تÙ\88بر/ ØªØ´Ø±Ù\8aÙ\86 Ø§Ù\84Ø£Ù\88Ù\84:Ø£Ù\83تÙ\88بر/ ØªØ´Ø±Ù\8aÙ\86 Ø§Ù\84Ø£Ù\88Ù\84\86Ù\88Ù\81Ù\85بر/ ØªØ´Ø±Ù\8aÙ\86 Ø§Ù\84ثاÙ\86Ù\8a\86Ù\88Ù\81Ù\85بر/ ØªØ´Ø±Ù\8aÙ\86 Ø§Ù\84ثاÙ\86Ù\8a_دÙ\8aسÙ\85بر/ Ù\83اÙ\86Ù\88Ù\86 Ø§Ù\84Ø£Ù\88Ù\84:دÙ\8aسÙ\85بر/ كانون الأول'.split("_");
         var i;
         function equalTest(input, mmm, i) {
             test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1) + ' instead is month ' + moment(input, mmm).month());