import { DATE, HOUR, MINUTE, SECOND, MILLISECOND } from '../units/constants';
import { cloneWithOffset } from '../units/offset';
import { createLocal } from '../create/local';
+import { createInvalid as invalid } from './valid';
// ASP.NET json date format regex
var aspNetRegex = /^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/;
}
createDuration.fn = Duration.prototype;
+createDuration.invalid = invalid;
function parseIso (inp, sign) {
// We'd normally use ~~inp for this, but unfortunately it also
import toInt from '../utils/to-int';
+import {Duration} from './constructor';
+import {createDuration} from './create';
var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];
export function isValid() {
return this._isValid;
}
+
+export function createInvalid() {
+ return createDuration(NaN);
+}
module('invalid');
test('invalid duration', function (assert) {
- var m = moment.duration(NaN); // should be invalid
+ var m = moment.duration.invalid(); // should be invalid
assert.equal(m.isValid(), false);
assert.ok(isNaN(m.valueOf()));
});
-test('valid duration - as per @ichernev', function (assert) {
+test('valid duration', function (assert) {
var m = moment.duration({d: null}); // should be valid, for now
assert.equal(m.isValid(), true);
assert.equal(m.valueOf(), 0);
test('invalid duration operations', function (assert) {
var invalids = [
moment.duration(NaN),
- moment.duration(NaN, 'days')
+ moment.duration(NaN, 'days'),
+ moment.duration.invalid()
],
i,
invalid,