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-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 |
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 |
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-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-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-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]
--- |
1067 |
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-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]
--- |
1472 |
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]
--- |
778 |
relativeto-sub-minute-offset.js |
---
esid: sec-temporal.duration.compare
description: relativeTo string accepts trailing zeroes in sub-minute UTC offset
features: [Temporal]
--- |
1186 |
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 |
year-zero.js |
---
esid: sec-temporal.duration.compare
description: Negative zero, as an extended year, fails
features: [Temporal]
--- |
647 |