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);
}
"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());