| argument-duration-max.js |
---
esid: sec-temporal.duration.prototype.subtract
description: Maximum allowed duration
features: [Temporal]
--- |
2174 |
- |
| argument-duration-out-of-range.js |
---
esid: sec-temporal.duration.prototype.subtract
description: Duration-like argument that is out of range
features: [Temporal]
--- |
3484 |
- |
| argument-duration-precision-exact-numerical-values.js |
---
esid: sec-temporal.duration.prototype.subtract
description: >
Duration-like argument performs the range check with minimal floating point
precision loss
features: [Temporal]
--- |
2894 |
- |
| argument-invalid-property.js |
---
esid: sec-temporal.duration.prototype.subtract
description: temporalDurationLike object must contain at least one correctly spelled property
features: [Temporal]
--- |
854 |
- |
| argument-mixed-sign.js |
---
esid: sec-temporal.duration.prototype.subtract
description: Positive and negative values in the temporalDurationLike argument are not acceptable
features: [Temporal]
--- |
643 |
- |
| argument-not-object.js |
---
esid: sec-temporal.duration.prototype.subtract
description: Passing a primitive other than string to subtract() throws
features: [Symbol, Temporal]
--- |
1102 |
- |
| argument-propertybag-optional-properties.js |
---
esid: sec-temporal.duration.prototype.subtract
description: >
A property bag missing optional properties is equivalent to a property bag
with all the optional properties having their default values
includes: [temporalHelpers.js]
features: [Temporal]
--- |
1005 |
- |
| argument-singular-properties.js |
---
esid: sec-temporal.duration.prototype.subtract
description: Singular properties in the property bag are always ignored
features: [Temporal]
--- |
811 |
- |
| argument-string-fractional-units-rounding-mode.js |
---
esid: sec-temporal.duration.prototype.subtract
description: Strings with fractional duration units are rounded with the correct rounding mode
includes: [temporalHelpers.js]
features: [Temporal]
--- |
822 |
- |
| argument-string-negative-fractional-units.js |
---
esid: sec-temporal.duration.prototype.subtract
description: Strings with fractional duration units are treated with the correct sign
includes: [temporalHelpers.js]
features: [Temporal]
--- |
841 |
- |
| argument-string.js |
---
esid: sec-temporal.duration.prototype.subtract
description: String arguments are supported.
includes: [temporalHelpers.js]
features: [Temporal]
--- |
736 |
- |
| balance-negative-result.js |
---
esid: sec-temporal.duration.prototype.subtract
description: A negative duration result is balanced correctly by the modulo operation in NanosecondsToDays
includes: [temporalHelpers.js]
features: [Temporal]
--- |
699 |
- |
| balance-negative-time-units.js |
---
esid: sec-temporal.duration.prototype.subtract
description: Negative time fields are balanced upwards
includes: [temporalHelpers.js]
features: [Temporal]
--- |
1630 |
- |
| basic.js |
---
esid: sec-temporal.duration.prototype.subtract
description: Basic behavior
includes: [temporalHelpers.js]
features: [Temporal]
--- |
3008 |
- |
| blank-duration.js |
---
esid: sec-temporal.duration.prototype.subtract
description: Behaviour with blank duration
features: [Temporal]
includes: [temporalHelpers.js]
--- |
619 |
- |
| branding.js |
---
esid: sec-temporal.duration.prototype.subtract
description: Throw a TypeError if the receiver is invalid
features: [Symbol, Temporal]
--- |
1259 |
- |
| browser.js |
|
0 |
- |
| builtin.js |
---
esid: sec-temporal.duration.prototype.subtract
description: >
Tests that Temporal.Duration.prototype.subtract
meets the requirements for built-in objects defined by the
introduction of chapter 17 of the ECMAScript Language Specification.
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]
--- |
1653 |
- |
| float64-representable-integer.js |
---
esid: sec-temporal.duration.prototype.subtract
description: Internal representation uses float64-representable integers
features: [Temporal]
--- |
1091 |
- |
| infinity-throws-rangeerror.js |
---
description: Temporal.Duration.prototype.subtract throws a RangeError if any value in a property bag is Infinity
esid: sec-temporal.duration.prototype.subtract
features: [Temporal]
--- |
1040 |
- |
| length.js |
---
esid: sec-temporal.duration.prototype.subtract
description: Temporal.Duration.prototype.subtract.length is 1
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]
--- |
1203 |
- |
| name.js |
---
esid: sec-temporal.duration.prototype.subtract
description: Temporal.Duration.prototype.subtract.name is "subtract".
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]
--- |
1047 |
- |
| nanoseconds-is-number-max-safe-integer.js |
---
esid: sec-temporal.duration.prototype.subtract
description: >
AddDuration computes on exact mathematical number values.
includes: [temporalHelpers.js]
features: [Temporal]
--- |
1100 |
- |
| negative-infinity-throws-rangeerror.js |
---
description: Temporal.Duration.prototype.subtract throws a RangeError if any value in a property bag is -Infinity
esid: sec-temporal.duration.prototype.subtract
features: [Temporal]
--- |
1043 |
- |
| no-calendar-units.js |
---
esid: sec-temporal.duration.prototype.subtract
description: >
Throws if either the receiver or the argument is a duration with nonzero
calendar units
features: [Temporal]
--- |
1904 |
- |
| non-integer-throws-rangeerror.js |
---
esid: sec-temporal.duration.prototype.subtract
description: A non-integer value for any recognized property in the property bag, throws a RangeError
features: [Temporal]
--- |
838 |
- |
| not-a-constructor.js |
---
esid: sec-temporal.duration.prototype.subtract
description: >
Temporal.Duration.prototype.subtract 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]
--- |
935 |
- |
| order-of-operations.js |
---
esid: sec-temporal.duration.prototype.subtract
description: Properties on an object passed to subtract() are accessed in the correct order
includes: [compareArray.js, temporalHelpers.js]
features: [Temporal]
--- |
1918 |
- |
| precision-exact-mathematical-values.js |
---
esid: sec-temporal.duration.prototype.subtract
description: >
AddDuration computes on exact mathematical number values.
includes: [temporalHelpers.js]
features: [Temporal]
--- |
818 |
- |
| precision-no-floating-point-loss.js |
---
esid: sec-temporal.duration.prototype.subtract
description: >
BalanceDuration computes floating-point values that are the same as exact math
includes: [temporalHelpers.js]
features: [Temporal]
--- |
1176 |
- |
| prop-desc.js |
---
esid: sec-temporal.duration.prototype.subtract
description: The "subtract" property of Temporal.Duration.prototype
includes: [propertyHelper.js]
features: [Temporal]
--- |
688 |
- |
| result-out-of-range-1.js |
---
esid: sec-temporal.duration.prototype.subtract
description: >
BalanceDuration throws a RangeError when the result is too large.
features: [Temporal]
--- |
1218 |
- |
| result-out-of-range-2.js |
---
esid: sec-temporal.duration.prototype.subtract
description: >
BalanceDuration throws a RangeError when the result is too large.
features: [Temporal]
--- |
669 |
- |
| result-out-of-range-3.js |
---
esid: sec-temporal.duration.prototype.subtract
description: >
TemporalDurationFromInternal throws a RangeError when the result is too large.
info: |
TemporalDurationFromInternal ( internalDuration, largestUnit )
...
9. Else if largestUnit is microsecond, then
a. Set microseconds to floor(nanoseconds / 1000).
b. Set nanoseconds to nanoseconds modulo 1000.
...
12. Return ? CreateTemporalDuration(internalDuration.[[Date]].[[Years]],
internalDuration.[[Date]].[[Months]], internalDuration.[[Date]].[[Weeks]],
internalDuration.[[Date]].[[Days]] + days × sign, hours × sign, minutes × sign,
seconds × sign, milliseconds × sign, microseconds × sign, nanoseconds × sign).
features: [Temporal]
--- |
1456 |
- |
| shell.js |
---
description: |
Test if a given function is a constructor function.
defines: [isConstructor]
features: [Reflect.construct]
--- |
596 |
- |
| subclassing-ignored.js |
---
esid: sec-temporal.duration.prototype.subtract
description: Objects of a subclass are never created as return values.
includes: [temporalHelpers.js]
features: [Temporal]
--- |
664 |
- |