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) {
"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();
},
--- /dev/null
+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();
+ }
+};