Name Description Size Coverage
argument-cast.js --- esid: sec-temporal.duration.compare description: Strings and objects are supported arguments. features: [Temporal] --- 1233 -
argument-duration-max.js --- esid: sec-temporal.duration.compare description: Maximum allowed duration features: [Temporal] --- 2383 -
argument-duration-out-of-range.js --- esid: sec-temporal.duration.compare description: Duration-like argument that is out of range features: [Temporal] --- 4296 -
argument-duration-precision-exact-numerical-values.js --- esid: sec-temporal.duration.from description: > Duration-like argument performs the range check with minimal floating point precision loss features: [Temporal] --- 1231 -
argument-propertybag-optional-properties.js --- esid: sec-temporal.duration.prototype.compare description: > A property bag missing optional properties is equivalent to a property bag with all the optional properties having their default values features: [Temporal] --- 954 -
argument-string-fractional-units-rounding-mode.js --- esid: sec-temporal.duration.compare description: Strings with fractional duration units are rounded with the correct rounding mode features: [Temporal] --- 1194 -
argument-string-negative-fractional-units.js --- esid: sec-temporal.duration.compare description: Strings with fractional duration units are treated with the correct sign features: [Temporal] --- 1263 -
basic.js --- esid: sec-temporal.duration.compare description: Basic comparisons. features: [Temporal] --- 2855 -
blank-duration.js --- esid: sec-temporal.duration.compare description: Behaviour with blank durations features: [Temporal] --- 970 -
browser.js 0 -
builtin.js --- esid: sec-temporal.duration.compare description: Tests that Temporal.Duration.compare meets the requirements for built-in objects info: | Built-in functions that are not constructors do not have a "prototype" property unless otherwise specified in the description of a particular function. Unless specified otherwise, a built-in object that is callable as a function is a built-in function object with the characteristics described in 10.3. Unless specified otherwise, the [[Extensible]] internal slot of a built-in object initially has the value true. Unless otherwise specified every built-in function and every built-in constructor has the Function prototype object [...] as the value of its [[Prototype]] internal slot. features: [Temporal] --- 1489 -
calendar-possibly-required.js --- esid: sec-temporal.duration.compare description: relativeTo argument needed if days = 0 but years/months/weeks non-zero features: [Temporal] --- 2405 -
calendar-temporal-object.js --- esid: sec-temporal.duration.compare description: Fast path for converting other Temporal objects to Temporal.Calendar by reading internal slots info: | sec-temporal.duration.compare step 4: 4. Let _relativeTo_ be ? ToRelativeTemporalObject(_options_). sec-temporal-torelativetemporalobject step 4.b: b. Let _calendar_ be ? GetTemporalCalendarWithISODefault(_item_). sec-temporal-gettemporalcalendarwithisodefault step 2: 2. Return ? ToTemporalCalendarWithISODefault(_calendar_). sec-temporal-totemporalcalendarwithisodefault step 2: 3. Return ? ToTemporalCalendar(_temporalCalendarLike_). sec-temporal-totemporalcalendar step 1.a: a. If _temporalCalendarLike_ has an [[InitializedTemporalDate]], [[InitializedTemporalDateTime]], [[InitializedTemporalMonthDay]], [[InitializedTemporalYearMonth]], or [[InitializedTemporalZonedDateTime]] internal slot, then i. Return _temporalCalendarLike_.[[Calendar]]. includes: [compareArray.js, temporalHelpers.js] features: [Temporal] --- 1588 -
compare-no-precision-loss.js --- esid: sec-temporal.duration.compare description: Temporal.Duration.compare() does not lose precision when totaling everything down to nanoseconds. features: [Temporal] --- 650 -
duration-out-of-range-added-to-relativeto.js --- esid: sec-temporal.duration.compare description: RangeError thrown when calendar part of duration added to relativeTo is out of range features: [Temporal] info: | UnbalanceDateDurationRelative: 11. Let _yearsMonthsWeeksDuration_ be ! CreateTemporalDuration(_years_, _months_, _weeks_, 0, 0, 0, 0, 0, 0, 0). 12. Let _later_ be ? CalendarDateAdd(_calendaRec_, _plainRelativeTo_, _yearsMonthsWeeksDuration_). 13. Let _yearsMonthsWeeksInDays_ be DaysUntil(_plainRelativeTo_, _later_). 14. Return ? CreateDateDurationRecord(0, 0, 0, _days_ + _yearsMonthsWeeksInDays_). --- 1808 -
exhaustive.js --- esid: sec-temporal.duration.compare description: Tests for compare() with each possible outcome features: [Temporal] --- 12885 -
instances-identical.js --- esid: sec-temporal.duration.compare description: Return when two Temporal.Durations have identical internal slots features: [Temporal] --- 1237 -
length.js --- esid: sec-temporal.duration.compare description: Temporal.Duration.compare.length is 2 info: | Every built-in function object, including constructors, has a "length" property whose value is an integer. Unless otherwise specified, this value is equal to the largest number of named arguments shown in the subclause headings for the function description. Optional parameters (which are indicated with brackets: [ ]) or rest parameters (which are shown using the form «...name») are not included in the default argument count. Unless otherwise specified, the "length" property of a built-in function object has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. includes: [propertyHelper.js] features: [Temporal] --- 1170 -
name.js --- esid: sec-temporal.duration.compare description: Temporal.Duration.compare.name is "compare". info: | Every built-in function object, including constructors, that is not identified as an anonymous function has a "name" property whose value is a String. Unless otherwise specified, this value is the name that is given to the function in this specification. Unless otherwise specified, the "name" property of a built-in function object, if it exists, has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. includes: [propertyHelper.js] features: [Temporal] --- 1012 -
not-a-constructor.js --- esid: sec-temporal.duration.compare description: Temporal.Duration.compare does not implement [[Construct]], is not new-able info: | Built-in function objects that are not identified as constructors do not implement the [[Construct]] internal method unless otherwise specified in the description of a particular function. includes: [isConstructor.js] features: [Reflect.construct, Temporal] --- 876 -
options-object.js --- esid: sec-temporal.duration.prototype.compare description: Empty object may be used as options features: [Temporal] --- 644 -
options-read-before-algorithmic-validation.js --- esid: sec-temporal.duration.compare description: All options properties are read before any algorithmic validation includes: [compareArray.js, temporalHelpers.js] features: [Temporal] --- 940 -
options-undefined.js --- esid: sec-temporal.duration.compare description: Verify that undefined options are handled correctly. features: [Temporal] --- 721 -
options-wrong-type.js --- esid: sec-temporal.duration.compare description: TypeError thrown when options argument is a primitive, before early return features: [BigInt, Symbol, Temporal] --- 691 -
order-of-operations.js --- esid: sec-temporal.duration.compare description: Properties on objects passed to compare() are accessed in the correct order includes: [compareArray.js, temporalHelpers.js] features: [Temporal] --- 7791 -
prop-desc.js --- esid: sec-temporal.duration.compare description: The "compare" property of Temporal.Duration includes: [propertyHelper.js] features: [Temporal] --- 633 -
relativeto-argument-propertybag-calendar-invalid-iso-string.js --- esid: sec-temporal.duration.compare description: Invalid ISO string as calendar in relativeTo option should throw RangeError features: [Temporal] --- 878 -
relativeto-argument-string-calendar-invalid-iso-string.js --- esid: sec-temporal.duration.compare description: Invalid ISO string as calendar in relativeTo option should throw RangeError features: [Temporal] --- 825 -
relativeto-hour.js --- esid: sec-temporal.duration.compare description: relativeTo with hours. features: [Temporal] --- 1048 -
relativeto-month.js --- esid: sec-temporal.duration.compare description: relativeTo with months. features: [Temporal] --- 825 -
relativeto-no-fractional-minutes-hours.js --- esid: sec-temporal.duration.compare description: Fractional minutes or hours in time string in relativeTo option should throw RangeError features: [Temporal] --- 873 -
relativeto-plaindate-add24hourdaystonormalizedtimeduration-out-of-range.js --- esid: sec-temporal.duration.compare description: RangeError thrown if adding the duration to the relativeTo date would result in anout-of-range date-time features: [Temporal] --- 822 -
relativeto-propertybag-infinity-throws-rangeerror.js --- description: Throws if any value in the relativeTo property bag is Infinity or -Infinity esid: sec-temporal.duration.compare includes: [compareArray.js, temporalHelpers.js] features: [Temporal] --- 1399 -
relativeto-propertybag-invalid-offset-string.js --- esid: sec-temporal.duration.compare description: relativeTo property bag with offset property is rejected if offset is in the wrong format features: [Temporal] --- 1151 -
relativeto-propertybag-invalid.js --- esid: sec-temporal.duration.compare description: Throws if a value in the relativeTo property bag is missing. features: [Temporal] --- 895 -
relativeto-propertybag-optional-properties.js --- esid: sec-temporal.duration.prototype.compare description: > A property bag missing optional properties is equivalent to a property bag with all the optional properties having their default values features: [Temporal] --- 1145 -
relativeto-propertybag-timezone-string-datetime.js --- esid: sec-temporal.duration.compare description: Conversion of ISO date-time strings to time zone IDs features: [Temporal] --- 2283 -
relativeto-propertybag-timezone-string-leap-second.js --- esid: sec-temporal.duration.compare description: Leap second is a valid ISO string for TimeZone features: [Temporal] --- 944 -
relativeto-propertybag-timezone-string-year-zero.js --- esid: sec-temporal.duration.compare description: Negative zero, as an extended year, is rejected features: [Temporal, arrow-function] --- 755 -
relativeto-propertybag-timezone-string.js --- esid: sec-temporal.duration.compare description: Time zone IDs are valid input for a time zone features: [Temporal] --- 624 -
relativeto-propertybag-timezone-wrong-type.js --- esid: sec-temporal.duration.compare description: > Appropriate error thrown when argument cannot be converted to a valid string for time zone features: [BigInt, Symbol, Temporal] --- 1469 -
relativeto-string-invalid.js --- esid: sec-temporal.duration.compare description: RangeError thrown if relativeTo is a string with the wrong format, before early return features: [Temporal] --- 656 -
relativeto-string-limits.js --- esid: sec-temporal.duration.compare description: ISO strings at the edges of the representable range features: [Temporal] --- 1561 -
relativeto-string-plaindatetime.js --- esid: sec-temporal.duration.compare description: The relativeTo option accepts a PlainDateTime-like ISO 8601 string features: [Temporal] --- 715 -
relativeto-string-zoneddatetime-wrong-offset.js --- esid: sec-temporal.duration.compare description: Throws if a ZonedDateTime-like relativeTo string has the wrong UTC offset features: [Temporal] --- 654 -
relativeto-string-zoneddatetime.js --- esid: sec-temporal.duration.compare description: The relativeTo option accepts a ZonedDateTime-like ISO 8601 string features: [Temporal] --- 988 -
relativeto-sub-minute-offset.js --- esid: sec-temporal.duration.compare description: relativeTo string accepts trailing zeroes in sub-minute UTC offset features: [Temporal] --- 1351 -
relativeto-undefined-throw-on-calendar-units.js --- esid: sec-temporal.duration.compare description: > The relativeTo option is required when either Duration contains years, months, or weeks features: [Temporal] --- 1503 -
relativeto-year.js --- esid: sec-temporal.duration.compare description: relativeTo with years. features: [Temporal] --- 697 -
relativeto-zoneddatetime-negative-epochnanoseconds.js --- esid: sec-temporal.duration.compare description: A pre-epoch value is handled correctly by the modulo operation in GetISOPartsFromEpoch info: | sec-temporal-getisopartsfromepoch step 1: 1. Let _remainderNs_ be the mathematical value whose sign is the sign of _epochNanoseconds_ and whose magnitude is abs(_epochNanoseconds_) modulo 10<sup>6</sup>. sec-temporal-builtintimezonegetplaindatetimefor step 2: 2. Let _result_ be ! GetISOPartsFromEpoch(_instant_.[[Nanoseconds]]). features: [Temporal] --- 1195 -
shell.js --- description: | Test if a given function is a constructor function. defines: [isConstructor] features: [Reflect.construct] --- 596 -
throws-when-target-zoned-date-time-outside-valid-limits.js --- esid: sec-temporal.duration.compare description: > Throws RangeError when adding duration to ZonedDateTime relativeTo fails. info: | Temporal.Duration.compare ( one, two [ , options ] ) 12. If zonedRelativeTo is not undefined, and either TemporalUnitCategory(largestUnit1) or TemporalUnitCategory(largestUnit2) is date, then ... c. Let after1 be ? AddZonedDateTime(zonedRelativeTo.[[EpochNanoseconds]], timeZone, calendar, duration1, constrain). d. Let after2 be ? AddZonedDateTime(zonedRelativeTo.[[EpochNanoseconds]], timeZone, calendar, duration2, constrain). ... features: [Temporal] --- 1280 -
year-zero.js --- esid: sec-temporal.duration.compare description: Negative zero, as an extended year, fails features: [Temporal] --- 647 -