assert.equal(m.valueOf(), 0);
});
+test('invalid duration - clone of invalid duration', function (assert) {
+ var m = moment.duration.invalid().clone(); // should be invalid
+ assert.equal(m.isValid(), false);
+ assert.ok(isNaN(m.valueOf()));
+});
+
+test('valid duration - clone of valid duration', function (assert) {
+ var m = moment.duration({d: null}).clone(); // should be valid, for now
+ assert.equal(m.isValid(), true);
+ assert.equal(m.valueOf(), 0);
+});
+
+test('invalid duration - wrapper of invalid duration', function (assert) {
+ var m = moment.duration(moment.duration.invalid()); // should be invalid
+ assert.equal(m.isValid(), false);
+ assert.ok(isNaN(m.valueOf()));
+});
+
+test('valid duration - wrapper of valid duration', function (assert) {
+ var m = moment.duration(moment.duration({d: null})); // should be valid, for now
+ assert.equal(m.isValid(), true);
+ assert.equal(m.valueOf(), 0);
+});
+
test('invalid duration - only smallest unit can have decimal', function (assert) {
var m = moment.duration({'days': 3.5, 'hours': 1.1}); // should be invalid
assert.equal(m.isValid(), false);