]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
added ability to create invalid moments
authorIsaac Cambron <isaac@isaaccambron.com>
Sun, 15 Sep 2013 23:22:03 +0000 (19:22 -0400)
committerIskren Chernev <iskren.chernev@gmail.com>
Thu, 26 Sep 2013 07:46:16 +0000 (00:46 -0700)
moment.js
test/moment/create.js
test/moment/invalid.js [new file with mode: 0644]

index 3f84fcc30de83f7a49b01447c890cd6e3dbccdd9..0a1c7675844a9624be6a8cb43e16f29074b5af23 100644 (file)
--- a/moment.js
+++ b/moment.js
             format = config._f;
 
         if (input === null || input === '') {
-            return null;
+            return moment.invalid();
         }
 
         if (typeof input === 'string') {
     // https://github.com/moment/moment/issues/1066
     moment.normalizeUnits = function (units) {
         return normalizeUnits(units);
+    }
+
+    moment.invalid = function () {
+        var m = moment.utc(0);
+        m._isValid = false;
+        return m;
     };
 
     moment.parseZone = function (input) {
index 62d3c8c1ef8173cc4b9a13c0dae7c1e664262016..bdf509f4069be64e1b5825e72a07164c56fc526e 100644 (file)
@@ -451,12 +451,12 @@ exports.create = {
 
     "null" : function (test) {
         test.expect(6);
-        test.equal(moment(''), null, "Calling moment('')");
-        test.equal(moment(null), null, "Calling moment(null)");
-        test.equal(moment('', 'YYYY-MM-DD'), null, "Calling moment('', 'YYYY-MM-DD')");
-        test.equal(moment.utc(''), null, "Calling moment.utc('')");
-        test.equal(moment.utc(null), null, "Calling moment.utc(null)");
-        test.equal(moment.utc('', 'YYYY-MM-DD'), null, "Calling moment.utc('', 'YYYY-MM-DD')");
+        test.equal(moment('').isValid(), false, "moment('') is not valid");
+        test.equal(moment(null).isValid(), false, "moment(null) is not valid");
+        test.equal(moment('', 'YYYY-MM-DD').isValid(), false, "moment('', 'format') is not valid");
+        test.equal(moment.utc('').isValid(), false, "moment.utc('') is not valid");
+        test.equal(moment.utc(null).isValid(), false, "moment.utc(null) is not valid");
+        test.equal(moment.utc('', 'YYYY-MM-DD').isValid(), false, "moment.utc('', 'YYYY-MM-DD') is not valid");
         test.done();
     },
 
diff --git a/test/moment/invalid.js b/test/moment/invalid.js
new file mode 100644 (file)
index 0000000..0521c0d
--- /dev/null
@@ -0,0 +1,10 @@
+var moment = require("../../moment");
+
+exports.invalid = {
+    "invalid" : function (test) {
+        var m = moment.invalid();
+        test.equals(m.isValid(), false);
+        test.equals(m.valueOf(), new Date(0).valueOf());
+        test.done();
+    }
+};