// |reftest| skip-if(!this.hasOwnProperty('Temporal')) -- Temporal is not enabled unconditionally // Copyright (C) 2021 Igalia, S.L. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- esid: sec-temporal.zoneddatetime.prototype.since description: RangeError thrown when roundingIncrement option out of range info: | ToTemporalRoundingIncrement ( _normalizedOptions_ ) 1. Let _increment_ be ? GetOption(_normalizedOptions_, *"roundingIncrement"*, *"number"*, *undefined*, *1*𝔽). 2. If _increment_ is not finite, throw a *RangeError* exception. 3. Let _integerIncrement_ be truncate(ℝ(_increment_)). 4. If _integerIncrement_ < 1 or _integerIncrement_ > 109, throw a *RangeError* exception. 5. Return _integerIncrement_. features: [Temporal] ---*/ const earlier = new Temporal.ZonedDateTime(1_000_000_000_000_000_000n, "UTC"); const later = new Temporal.ZonedDateTime(1_000_000_000_000_000_005n, "UTC"); assert.throws(RangeError, () => later.since(earlier, { roundingIncrement: -Infinity })); assert.throws(RangeError, () => later.since(earlier, { roundingIncrement: -1 })); assert.throws(RangeError, () => later.since(earlier, { roundingIncrement: 0 })); assert.throws(RangeError, () => later.since(earlier, { roundingIncrement: 0.9 })); assert.throws(RangeError, () => later.since(earlier, { roundingIncrement: 1e9 + 1 })); assert.throws(RangeError, () => later.since(earlier, { roundingIncrement: Infinity })); reportCompare(0, 0);