]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Relax year digits required. 373/head
authorJason Davies <jason@jasondavies.com>
Wed, 25 Jul 2012 18:10:05 +0000 (19:10 +0100)
committerJason Davies <jason@jasondavies.com>
Wed, 25 Jul 2012 18:10:05 +0000 (19:10 +0100)
This restores the ability to parse 1 Dec 1.

moment.js
test/moment/create.js

index 39711eba261a946f0349b5f0ed27b1d582e4ab35..0d3f49c26a38c81a929c649dafdecddc3f8f1ca9 100644 (file)
--- a/moment.js
+++ b/moment.js
@@ -41,8 +41,8 @@
         parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99
         parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999
         parseTokenThreeDigits = /\d{3}/, // 000 - 999
-        parseTokenFourDigits = /\d{4}/, // 0000 - 9999
-        parseTokenFiveToSixDigits = /[+\-\d]?\d{4,6}/, // -999,999 - 999,999
+        parseTokenFourDigits = /\d{1,4}/, // 0 - 9999
+        parseTokenSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999
         parseTokenWord = /[0-9a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+/i, // any word characters or numbers
         parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/i, // +00:00 -00:00 +0000 -0000 or Z
         parseTokenT = /T/i, // T (ISO seperator)
         case 'YYYY':
             return parseTokenFourDigits;
         case 'YYYYY':
-            return parseTokenFiveToSixDigits;
+            return parseTokenSixDigits;
         case 'S':
         case 'SS':
         case 'SSS':
index 815b933da1c128e34d5f2b3c9d2747f25f320e2c..59a6f21302d040265b553300d439deee02d1ad97 100644 (file)
@@ -300,10 +300,16 @@ exports.create = {
     },
 
     "first century" : function(test) {
-        test.expect(3);
+        test.expect(9);
         test.equal(moment([0, 0, 1]).format("YYYY-MM-DD"), "0000-01-01", "Year AD 0");
         test.equal(moment([99, 0, 1]).format("YYYY-MM-DD"), "0099-01-01", "Year AD 99");
         test.equal(moment([999, 0, 1]).format("YYYY-MM-DD"), "0999-01-01", "Year AD 999");
+        test.equal(moment('0 1 1', 'YYYY MM DD').format("YYYY-MM-DD"), "0000-01-01", "Year AD 0");
+        test.equal(moment('99 1 1', 'YYYY MM DD').format("YYYY-MM-DD"), "0099-01-01", "Year AD 99");
+        test.equal(moment('999 1 1', 'YYYY MM DD').format("YYYY-MM-DD"), "0999-01-01", "Year AD 999");
+        test.equal(moment('0 1 1', 'YYYYY MM DD').format("YYYYY-MM-DD"), "00000-01-01", "Year AD 0");
+        test.equal(moment('99 1 1', 'YYYYY MM DD').format("YYYYY-MM-DD"), "00099-01-01", "Year AD 99");
+        test.equal(moment('999 1 1', 'YYYYY MM DD').format("YYYYY-MM-DD"), "00999-01-01", "Year AD 999");
         test.done();
     },