--- /dev/null
+import { createDuration } from './create';
+
+export function clone () {
+ return createDuration(this);
+}
+
import { add, subtract } from './add-subtract';
import { as, asMilliseconds, asSeconds, asMinutes, asHours, asDays, asWeeks, asMonths, asYears, valueOf } from './as';
import { bubble } from './bubble';
+import { clone } from './clone';
import { get, milliseconds, seconds, minutes, hours, days, months, years, weeks } from './get';
import { humanize } from './humanize';
import { toISOString } from './iso-string';
proto.asYears = asYears;
proto.valueOf = valueOf;
proto._bubble = bubble;
+proto.clone = clone;
proto.get = get;
proto.milliseconds = milliseconds;
proto.seconds = seconds;
assert.deepEqual(moment.duration(modified), modified, 'cloning modified duration works');
});
+test('explicit cloning', function (assert) {
+ var durationA = moment.duration(5, 'milliseconds');
+ var durationB = durationA.clone();
+ durationA.add(5, 'milliseconds');
+ assert.equal(durationB.milliseconds(), 5, 'Calling duration.clone() on a duration will create a clone');
+ assert.equal(durationA.milliseconds(), 10, 'Calling duration.clone() on a duration will create a clone');
+});
+
test('instantiation from 24-hour time zero', function (assert) {
assert.equal(moment.duration('00:00').years(), 0, '0 years');
assert.equal(moment.duration('00:00').days(), 0, '0 days');