| // 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.plaindatetime.prototype.until |
| description: RangeError thrown when smallestUnit is larger than largestUnit |
| features: [Temporal] |
| ---*/ |
| |
| const earlier = new Temporal.PlainDateTime(2000, 5, 2, 12, 34, 56, 0, 0, 0); |
| const later = new Temporal.PlainDateTime(2001, 6, 3, 13, 35, 57, 987, 654, 321); |
| const units = ["years", "months", "weeks", "days", "hours", "minutes", "seconds", "milliseconds", "microseconds", "nanoseconds"]; |
| for (let largestIdx = 1; largestIdx < units.length; largestIdx++) { |
| for (let smallestIdx = 0; smallestIdx < largestIdx; smallestIdx++) { |
| const largestUnit = units[largestIdx]; |
| const smallestUnit = units[smallestIdx]; |
| assert.throws(RangeError, () => earlier.until(later, { largestUnit, smallestUnit })); |
| } |
| } |