From: Jason Davies Date: Thu, 19 Jul 2012 14:43:25 +0000 (+0100) Subject: Add support for negative four-digit years. X-Git-Tag: 2.0.0~83^2~1^2 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=refs%2Fpull%2F367%2Fhead;p=thirdparty%2Fmoment.git Add support for negative four-digit years. --- diff --git a/moment.js b/moment.js index f430bc781..ef1cf28dd 100644 --- a/moment.js +++ b/moment.js @@ -42,7 +42,7 @@ parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999 parseTokenThreeDigits = /\d{3}/, // 000 - 999 parseTokenFourDigits = /\d{4}/, // 0000 - 9999 - parseTokenFiveToSixDigits = /[+\-]?\d{5,6}/, // -999,999 - 999,999 + parseTokenFiveToSixDigits = /[+\-\d]?\d{4,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) diff --git a/test/moment/create.js b/test/moment/create.js index 52befca23..4658f7b45 100644 --- a/test/moment/create.js +++ b/test/moment/create.js @@ -305,11 +305,17 @@ exports.create = { "six digit years" : function(test) { test.expect(5); - test.equal(moment([-270000, 0, 1]).format("YYYYY-MM-DD"), "-270000-01-01", "format BC 270,000"); + test.equal(moment([-270000, 0, 1]).format("YYYYY-MM-DD"), "-270000-01-01", "format BC 270,001"); test.equal(moment([ 270000, 0, 1]).format("YYYYY-MM-DD"), "270000-01-01", "format AD 270,000"); - test.equal(moment("-270000-01-01", "YYYYY-MM-DD").toDate().getUTCFullYear(), -270000, "parse BC 270,000"); + test.equal(moment("-270000-01-01", "YYYYY-MM-DD").toDate().getUTCFullYear(), -270000, "parse BC 270,001"); test.equal(moment("270000-01-01", "YYYYY-MM-DD").toDate().getUTCFullYear(), 270000, "parse AD 270,000"); test.equal(moment("+270000-01-01", "YYYYY-MM-DD").toDate().getUTCFullYear(), 270000, "parse AD +270,000"); test.done(); + }, + + "negative four digit years" : function(test) { + test.expect(1); + test.equal(moment("-1000-01-01", "YYYYY-MM-DD").toDate().getUTCFullYear(), -1000, "parse BC 1,001"); + test.done(); } };