argument-number.js |
---
esid: sec-temporal.plaintime.from
description: A number is invalid in place of an ISO string for Temporal.PlainTime
features: [Temporal]
--- |
725 |
argument-object-leap-second.js |
---
esid: sec-temporal.plaintime.from
description: Object argument handles leap seconds according to the overflow option.
includes: [temporalHelpers.js]
features: [Temporal]
--- |
1366 |
argument-object.js |
---
esid: sec-temporal.plaintime.from
description: Plain object argument is supported and ignores plural properties
includes: [temporalHelpers.js]
features: [Temporal]
--- |
1132 |
argument-plaindatetime.js |
---
esid: sec-temporal.plaintime.from
description: Fast path for converting Temporal.PlainDateTime to Temporal.PlainTime by reading internal slots
includes: [compareArray.js, temporalHelpers.js]
features: [Temporal]
--- |
753 |
argument-plaintime.js |
---
esid: sec-temporal.plaintime.from
description: A PlainTime object is copied, not returned directly
includes: [temporalHelpers.js]
features: [Temporal]
--- |
806 |
argument-string-calendar-annotation-invalid-key.js |
---
esid: sec-temporal.plaintime.from
description: Annotation keys are lowercase-only
features: [Temporal]
--- |
1313 |
argument-string-calendar-annotation.js |
---
esid: sec-temporal.plaintime.from
description: Various forms of calendar annotation; critical flag has no effect
features: [Temporal]
includes: [temporalHelpers.js]
--- |
1989 |
argument-string-critical-unknown-annotation.js |
---
esid: sec-temporal.plaintime.from
description: Unknown annotations with critical flag are rejected
features: [Temporal]
--- |
941 |
argument-string-date-with-utc-offset.js |
---
esid: sec-temporal.plaintime.from
description: UTC offset not valid with format that does not include a time
features: [Temporal]
includes: [temporalHelpers.js]
--- |
1488 |
argument-string-leap-second.js |
---
esid: sec-temporal.plaintime.from
description: Leap second is replaced by :59 in ISO strings.
includes: [temporalHelpers.js]
features: [Temporal]
--- |
900 |
argument-string-minus-sign.js |
---
esid: sec-temporal.plaintime.from
description: Non-ASCII minus sign is not acceptable
features: [Temporal]
--- |
696 |
argument-string-multiple-calendar.js |
---
esid: sec-temporal.plaintime.from
description: >
More than one calendar annotation is not syntactical if any have the criical
flag
features: [Temporal]
--- |
1100 |
argument-string-multiple-time-zone.js |
---
esid: sec-temporal.plaintime.from
description: More than one time zone annotation is not syntactical
features: [Temporal]
--- |
887 |
argument-string-no-implicit-midnight.js |
---
esid: sec-temporal.plaintime.from
description: RangeError thrown if a date-only string is passed in a PlainTime context
features: [Temporal, arrow-function]
--- |
658 |
argument-string-time-designator-required-for-disambiguation.js |
---
esid: sec-temporal.plaintime.from
description: ISO 8601 time designator "T" required in cases of ambiguity
includes: [temporalHelpers.js]
features: [Temporal, arrow-function]
--- |
1207 |
argument-string-time-separators.js |
---
esid: sec-temporal.plaintime.from
description: Time separator in string argument can vary
features: [Temporal]
includes: [temporalHelpers.js]
--- |
996 |
argument-string-time-zone-annotation.js |
---
esid: sec-temporal.plaintime.from
description: Various forms of time zone annotation; critical flag has no effect
features: [Temporal]
includes: [temporalHelpers.js]
--- |
2569 |
argument-string-trailing-junk.js |
---
esid: sec-temporal.plaintime.from
description: RangeError thrown if a string argument has trailing junk
features: [Temporal, arrow-function]
--- |
572 |
argument-string-unknown-annotation.js |
---
esid: sec-temporal.plaintime.from
description: Various forms of unknown annotation
features: [Temporal]
includes: [temporalHelpers.js]
--- |
1678 |
argument-string-with-time-designator.js |
---
esid: sec-temporal.plaintime.from
description: ISO 8601 time designator "T" allowed at the start of PlainTime strings
includes: [temporalHelpers.js]
features: [Temporal, arrow-function]
--- |
923 |
argument-string-with-utc-designator.js |
---
esid: sec-temporal.plaintime.from
description: RangeError thrown if a string with UTC designator is used as a PlainTime
features: [Temporal, arrow-function]
--- |
797 |
argument-string.js |
---
esid: sec-temporal.plaintime.from
description: Various ISO strings supported
includes: [compareArray.js, temporalHelpers.js]
features: [Temporal]
--- |
2689 |
argument-wrong-type.js |
---
esid: sec-temporal.plaintime.from
description: >
Appropriate error thrown when argument cannot be converted to a valid string
or property bag for PlainTime
features: [BigInt, Symbol, Temporal]
--- |
1362 |
argument-zoneddatetime-balance-negative-time-units.js |
---
esid: sec-temporal.plaintime.from
description: Negative time fields are balanced upwards if the argument is given as ZonedDateTime
info: |
sec-temporal-balancetime steps 3–14:
3. Set _microsecond_ to _microsecond_ + floor(_nanosecond_ / 1000).
4. Set _nanosecond_ to _nanosecond_ modulo 1000.
5. Set _millisecond_ to _millisecond_ + floor(_microsecond_ / 1000).
6. Set _microsecond_ to _microsecond_ modulo 1000.
7. Set _second_ to _second_ + floor(_millisecond_ / 1000).
8. Set _millisecond_ to _millisecond_ modulo 1000.
9. Set _minute_ to _minute_ + floor(_second_ / 60).
10. Set _second_ to _second_ modulo 60.
11. Set _hour_ to _hour_ + floor(_minute_ / 60).
12. Set _minute_ to _minute_ modulo 60.
13. Let _days_ be floor(_hour_ / 24).
14. Set _hour_ to _hour_ modulo 24.
sec-temporal-balanceisodatetime step 1:
1. Let _balancedTime_ be ? BalanceTime(_hour_, _minute_, _second_, _millisecond_, _microsecond_, _nanosecond_).
sec-temporal-builtintimezonegetplaindatetimefor step 3:
3. Set _result_ to ? BalanceISODateTime(_result_.[[Year]], _result_.[[Month]], _result_.[[Day]], _result_.[[Hour]], _result_.[[Minute]], _result_.[[Second]], _result_.[[Millisecond]], _result_.[[Microsecond]], _result_.[[Nanosecond]] + _offsetNanoseconds_).
sec-temporal-totemporaltime step 3.b:
b. If _item_ has an [[InitializedTemporalZonedDateTime]] internal slot, then
...
ii. 1. Set _plainDateTime_ to ? BuiltinTimeZoneGetPlainDateTimeFor(_item_.[[TimeZone]], _instant_, _item_.[[Calendar]]).
sec-temporal.plaintime.from step 4:
4. Return ? ToTemporalTime(_temporalTime_).
includes: [temporalHelpers.js]
features: [Temporal]
--- |
2450 |
argument-zoneddatetime-negative-epochnanoseconds.js |
---
esid: sec-temporal.plaintime.from
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]
includes: [temporalHelpers.js]
--- |
1218 |
browser.js |
|
0 |
builtin.js |
---
esid: sec-temporal.plaintime.from
description: Tests that Temporal.PlainTime.from 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]
--- |
1552 |
infinity-throws-rangeerror.js |
---
description: Throws if any value in the property bag is Infinity or -Infinity
esid: sec-temporal.plaintime.from
includes: [compareArray.js, temporalHelpers.js]
features: [Temporal]
--- |
1323 |
leap-second.js |
---
esid: sec-temporal.plaintime.from
description: Leap second is a valid ISO string for PlainTime
includes: [temporalHelpers.js]
features: [Temporal]
--- |
1302 |
length.js |
---
esid: sec-temporal.plaintime.from
description: Temporal.PlainTime.from.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]
--- |
1239 |
name.js |
---
esid: sec-temporal.plaintime.from
description: Temporal.PlainTime.from.name is "from"
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]
--- |
1074 |
not-a-constructor.js |
---
esid: sec-temporal.plaintime.from
description: Temporal.PlainTime.from 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]
--- |
941 |
observable-get-overflow-argument-string-invalid.js |
---
esid: sec-temporal.plaintime.from
description: overflow property is not extracted with ISO-invalid string argument.
includes: [compareArray.js, temporalHelpers.js]
features: [Temporal]
--- |
845 |
options-invalid.js |
---
esid: sec-temporal.plaintime.from
description: TypeError thrown when a primitive is passed as the options argument
features: [Temporal]
--- |
656 |
options-object.js |
---
esid: sec-temporal.plaintime.prototype.from
description: Empty object may be used as options
includes: [temporalHelpers.js]
features: [Temporal]
--- |
799 |
options-undefined.js |
---
esid: sec-temporal.plaintime.from
description: Verify that undefined options are handled correctly.
features: [Temporal]
--- |
755 |
options-wrong-type.js |
---
esid: sec-temporal.plaintime.from
description: TypeError thrown when options argument is a primitive
features: [BigInt, Symbol, Temporal]
--- |
1373 |
order-of-operations.js |
---
esid: sec-temporal.plaintime.from
description: Properties on an object passed to from() are accessed in the correct order
includes: [compareArray.js, temporalHelpers.js]
features: [Temporal]
--- |
2568 |
overflow-constrain.js |
---
esid: sec-temporal.plaintime.from
description: constrain value for overflow option
includes: [temporalHelpers.js]
features: [Temporal]
--- |
711 |
overflow-invalid-string.js |
---
esid: sec-temporal.plaintime.from
description: RangeError thrown when overflow option not one of the allowed string values
info: |
sec-getoption step 10:
10. If _values_ is not *undefined* and _values_ does not contain an element equal to _value_, throw a *RangeError* exception.
sec-temporal-totemporaloverflow step 1:
1. Return ? GetOption(_normalizedOptions_, *"overflow"*, « String », « *"constrain"*, *"reject"* », *"constrain"*).
sec-temporal.plaintime.from step 2:
2. Let _overflow_ be ? ToTemporalOverflow(_options_).
features: [Temporal]
--- |
1322 |
overflow-reject.js |
---
esid: sec-temporal.plaintime.from
description: reject value for overflow option
includes: [temporalHelpers.js]
features: [Temporal]
--- |
681 |
overflow-undefined.js |
---
esid: sec-temporal.plaintime.from
description: Fallback value for overflow option
info: |
sec-getoption step 3:
3. If _value_ is *undefined*, return _fallback_.
sec-temporal-totemporaloverflow step 1:
1. Return ? GetOption(_normalizedOptions_, *"overflow"*, « String », « *"constrain"*, *"reject"* », *"constrain"*).
sec-temporal.plaintime.from step 2:
2. Let _overflow_ be ? ToTemporalOverflow(_options_).
includes: [temporalHelpers.js]
features: [Temporal]
--- |
1901 |
overflow-wrong-type.js |
---
esid: sec-temporal.plaintime.from
description: Type conversions for overflow option
info: |
sec-getoption step 9.a:
a. Set _value_ to ? ToString(_value_).
sec-temporal-totemporaloverflow step 1:
1. Return ? GetOption(_normalizedOptions_, *"overflow"*, « String », « *"constrain"*, *"reject"* », *"constrain"*).
sec-temporal.plaintime.from step 2:
2. Let _overflow_ be ? ToTemporalOverflow(_options_).
includes: [compareArray.js, temporalHelpers.js]
features: [Temporal]
--- |
1175 |
plaintime-propertybag-no-time-units.js |
---
esid: sec-temporal.plaintime.from
description: Missing time units in property bag default to 0
includes: [temporalHelpers.js]
features: [Temporal]
--- |
780 |
prop-desc.js |
---
esid: sec-temporal.plaintime.from
description: The "from" property of Temporal.PlainTime
includes: [propertyHelper.js]
features: [Temporal]
--- |
698 |
shell.js |
---
description: |
Test if a given function is a constructor function.
defines: [isConstructor]
features: [Reflect.construct]
--- |
596 |
subclassing-ignored.js |
---
esid: sec-temporal.plaintime.from
description: The receiver is never called when calling from()
includes: [temporalHelpers.js]
features: [Temporal]
--- |
674 |
year-zero.js |
---
esid: sec-temporal.plaintime.from
description: Negative zero, as an extended year, is rejected
features: [Temporal, arrow-function]
--- |
755 |