// |reftest| skip -- Temporal is not supported // Copyright (C) 2022 Igalia, S.L. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- esid: sec-temporal.plaintime.from description: Object argument handles leap seconds according to the overflow option. includes: [temporalHelpers.js] features: [Temporal] ---*/ for (const options of [undefined, {}, { overflow: "constrain" }]) { TemporalHelpers.assertPlainTime(Temporal.PlainTime.from({ hour: 23, minute: 59, second: 60 }, options), 23, 59, 59, 0, 0, 0); TemporalHelpers.assertPlainTime(Temporal.PlainTime.from({ hour: 12, minute: 30, second: 60 }, options), 12, 30, 59, 0, 0, 0); TemporalHelpers.assertPlainTime(Temporal.PlainTime.from({ hour: 23, minute: 59, second: 60, millisecond: 170 }, options), 23, 59, 59, 170, 0, 0); } const options = { overflow: "reject" }; assert.throws(RangeError, () => Temporal.PlainTime.from({ hour: 23, minute: 59, second: 60 }, options)); assert.throws(RangeError, () => Temporal.PlainTime.from({ hour: 12, minute: 30, second: 60 }, options)); assert.throws(RangeError, () => Temporal.PlainTime.from({ hour: 23, minute: 59, second: 60, millisecond: 170 }, options)); reportCompare(0, 0);