[Temporal] Add TimeZone getOffset(Nanoseconds|String)For
Also add the non-intl version of AO GetIANATimeZoneOffsetNanoseconds which only implement for UTC. (intl version implement other tz come later) Also fix bug in JSTemporalTimeZone::offset_nanoseconds() that "1000000L * offset_milliseconds()" may overflow int32_t before returning as int64_t by first casting offset_milliseconds() to int64_t in the operation so the whole formula is calculating under 64 bits not 32 bits. This bug fix some *timezone-string-datetime tests. Spec Text: https://tc39.es/proposal-temporal/#sec-temporal.timezone.prototype.getoffsetnanosecondsfor https://tc39.es/proposal-temporal/#sec-temporal.timezone.prototype.getoffsetstringfor https://tc39.es/proposal-temporal/#sec-temporal-getianatimezoneoffsetnanoseconds Bug: v8:11544 Change-Id: I2227dbfc8d6ed3ef83edcef5a9b903b8642b5902 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3534622 Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#80606}
This commit is contained in:
parent
010de10eb8
commit
972d7e5abf
@ -275,12 +275,6 @@ TO_BE_IMPLEMENTED(TemporalPlainMonthDayPrototypeToJSON)
|
||||
/* Temporal #sec-temporal.plainmonthday.prototype.toplaindate */
|
||||
TO_BE_IMPLEMENTED(TemporalPlainMonthDayPrototypeToPlainDate)
|
||||
|
||||
/* Temporal.TimeZone */
|
||||
/* Temporal #sec-temporal.timezone.prototype.getoffsetnanosecondsfor */
|
||||
TO_BE_IMPLEMENTED(TemporalTimeZonePrototypeGetOffsetNanosecondsFor)
|
||||
/* Temporal #sec-temporal.timezone.prototype.getoffsetstringfor */
|
||||
TO_BE_IMPLEMENTED(TemporalTimeZonePrototypeGetOffsetStringFor)
|
||||
|
||||
/* Temporal.Calendar */
|
||||
/* Temporal #sec-temporal.calendar.prototype.weekofyear */
|
||||
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeWeekOfYear)
|
||||
@ -801,8 +795,15 @@ BUILTIN(TemporalCalendarFrom) {
|
||||
// TimeZone
|
||||
TEMPORAL_CONSTRUCTOR1(TimeZone)
|
||||
TEMPORAL_PROTOTYPE_METHOD2(TimeZone, GetInstantFor, getInstantFor)
|
||||
TEMPORAL_PROTOTYPE_METHOD1(TimeZone, GetNextTransition, getNextTransition)
|
||||
TEMPORAL_PROTOTYPE_METHOD1(TimeZone, GetOffsetNanosecondsFor,
|
||||
getOffsetNanosecondsFor)
|
||||
TEMPORAL_PROTOTYPE_METHOD1(TimeZone, GetOffsetStringFor, getOffsetStringFor)
|
||||
TEMPORAL_PROTOTYPE_METHOD2(TimeZone, GetPlainDateTimeFor, getPlainDateTimeFor)
|
||||
TEMPORAL_PROTOTYPE_METHOD1(TimeZone, GetPossibleInstantsFor,
|
||||
getPossibleInstantFor)
|
||||
TEMPORAL_PROTOTYPE_METHOD1(TimeZone, GetPreviousTransition,
|
||||
getPreviousTransition)
|
||||
|
||||
// #sec-get-temporal.timezone.prototype.id
|
||||
BUILTIN(TemporalTimeZonePrototypeId) {
|
||||
@ -841,10 +842,6 @@ BUILTIN(TemporalTimeZonePrototypeToString) {
|
||||
isolate, JSTemporalTimeZone::ToString(isolate, time_zone, method_name));
|
||||
}
|
||||
|
||||
TEMPORAL_PROTOTYPE_METHOD1(TimeZone, GetNextTransition, getNextTransition)
|
||||
TEMPORAL_PROTOTYPE_METHOD2(TimeZone, GetPlainDateTimeFor, getPlainDateTimeFor)
|
||||
TEMPORAL_PROTOTYPE_METHOD1(TimeZone, GetPreviousTransition,
|
||||
getPreviousTransition)
|
||||
// #sec-temporal.timezone.from
|
||||
BUILTIN(TemporalTimeZoneFrom) {
|
||||
HandleScope scope(isolate);
|
||||
|
@ -3011,18 +3011,18 @@ Maybe<TimeZoneRecord> ParseTemporalTimeZoneString(Isolate* isolate,
|
||||
// a. Assert: sign is not undefined.
|
||||
DCHECK(!parsed->tzuo_sign_is_undefined());
|
||||
// b. Set hours to ! ToIntegerOrInfinity(hours).
|
||||
int32_t hours = parsed->tzuo_hour;
|
||||
int64_t hours = parsed->tzuo_hour;
|
||||
// c. If sign is the code unit 0x002D (HYPHEN-MINUS) or the code unit 0x2212
|
||||
// (MINUS SIGN), then i. Set sign to −1. d. Else, i. Set sign to 1.
|
||||
int32_t sign = parsed->tzuo_sign;
|
||||
int64_t sign = parsed->tzuo_sign;
|
||||
// e. Set minutes to ! ToIntegerOrInfinity(minutes).
|
||||
int32_t minutes =
|
||||
int64_t minutes =
|
||||
parsed->tzuo_minute_is_undefined() ? 0 : parsed->tzuo_minute;
|
||||
// f. Set seconds to ! ToIntegerOrInfinity(seconds).
|
||||
int32_t seconds =
|
||||
int64_t seconds =
|
||||
parsed->tzuo_second_is_undefined() ? 0 : parsed->tzuo_second;
|
||||
// g. If fraction is not undefined, then
|
||||
int32_t nanoseconds;
|
||||
int64_t nanoseconds;
|
||||
if (!parsed->tzuo_nanosecond_is_undefined()) {
|
||||
// i. Set fraction to the string-concatenation of the previous value of
|
||||
// fraction and the string "000000000".
|
||||
@ -3039,7 +3039,7 @@ Maybe<TimeZoneRecord> ParseTemporalTimeZoneString(Isolate* isolate,
|
||||
// seconds) × 10^9 + nanoseconds).
|
||||
int64_t offset_nanoseconds =
|
||||
sign *
|
||||
(((hours * 60 + minutes) * 60 + seconds) * 1000000000L + nanoseconds);
|
||||
(((hours * 60 + minutes) * 60 + seconds) * 1000000000 + nanoseconds);
|
||||
// j. Let offsetString be ! FormatTimeZoneOffsetString(offsetNanoseconds).
|
||||
ASSIGN_RETURN_ON_EXCEPTION_VALUE(
|
||||
isolate, offset_string,
|
||||
@ -6877,6 +6877,21 @@ MaybeHandle<Object> GetIANATimeZonePreviousTransition(
|
||||
#endif // V8_INTL_SUPPORT
|
||||
}
|
||||
|
||||
MaybeHandle<Object> GetIANATimeZoneOffsetNanoseconds(Isolate* isolate,
|
||||
Handle<BigInt> nanoseconds,
|
||||
int32_t time_zone_index) {
|
||||
#ifdef V8_INTL_SUPPORT
|
||||
// TODO(ftang) Handle offset for other timezone
|
||||
if (time_zone_index == JSTemporalTimeZone::kUTCTimeZoneIndex) {
|
||||
return handle(Smi::zero(), isolate);
|
||||
}
|
||||
UNREACHABLE();
|
||||
#else // V8_INTL_SUPPORT
|
||||
DCHECK_EQ(time_zone_index, JSTemporalTimeZone::kUTCTimeZoneIndex);
|
||||
return handle(Smi::zero(), isolate);
|
||||
#endif // V8_INTL_SUPPORT
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
// #sec-temporal.timezone.prototype.getplaindatetimefor
|
||||
@ -7051,6 +7066,53 @@ MaybeHandle<JSArray> JSTemporalTimeZone::GetPossibleInstantsFor(
|
||||
isolate, time_zone->time_zone_index(), date_time_record);
|
||||
}
|
||||
|
||||
// #sec-temporal.timezone.prototype.getoffsetnanosecondsfor
|
||||
MaybeHandle<Object> JSTemporalTimeZone::GetOffsetNanosecondsFor(
|
||||
Isolate* isolate, Handle<JSTemporalTimeZone> time_zone,
|
||||
Handle<Object> instant_obj) {
|
||||
TEMPORAL_ENTER_FUNC();
|
||||
// 1. Let timeZone be the this value.
|
||||
// 2. Perform ? RequireInternalSlot(timeZone,
|
||||
// [[InitializedTemporalTimeZone]]).
|
||||
// 3. Set instant to ? ToTemporalInstant(instant).
|
||||
Handle<JSTemporalInstant> instant;
|
||||
ASSIGN_RETURN_ON_EXCEPTION(
|
||||
isolate, instant,
|
||||
ToTemporalInstant(isolate, instant_obj,
|
||||
"Temporal.TimeZone.prototype.getOffsetNanosecondsFor"),
|
||||
Smi);
|
||||
// 4. If timeZone.[[OffsetNanoseconds]] is not undefined, return
|
||||
// timeZone.[[OffsetNanoseconds]].
|
||||
if (time_zone->is_offset()) {
|
||||
return isolate->factory()->NewNumberFromInt64(
|
||||
time_zone->offset_nanoseconds());
|
||||
}
|
||||
// 5. Return ! GetIANATimeZoneOffsetNanoseconds(instant.[[Nanoseconds]],
|
||||
// timeZone.[[Identifier]]).
|
||||
return GetIANATimeZoneOffsetNanoseconds(
|
||||
isolate, Handle<BigInt>(instant->nanoseconds(), isolate),
|
||||
time_zone->time_zone_index());
|
||||
}
|
||||
|
||||
// #sec-temporal.timezone.prototype.getoffsetstringfor
|
||||
MaybeHandle<String> JSTemporalTimeZone::GetOffsetStringFor(
|
||||
Isolate* isolate, Handle<JSTemporalTimeZone> time_zone,
|
||||
Handle<Object> instant_obj) {
|
||||
TEMPORAL_ENTER_FUNC();
|
||||
const char* method_name = "Temporal.TimeZone.prototype.getOffsetStringFor";
|
||||
// 1. Let timeZone be the this value.
|
||||
// 2. Perform ? RequireInternalSlot(timeZone,
|
||||
// [[InitializedTemporalTimeZone]]).
|
||||
// 3. Set instant to ? ToTemporalInstant(instant).
|
||||
Handle<JSTemporalInstant> instant;
|
||||
ASSIGN_RETURN_ON_EXCEPTION(
|
||||
isolate, instant, ToTemporalInstant(isolate, instant_obj, method_name),
|
||||
String);
|
||||
// 4. Return ? BuiltinTimeZoneGetOffsetStringFor(timeZone, instant).
|
||||
return BuiltinTimeZoneGetOffsetStringFor(isolate, time_zone, instant,
|
||||
method_name);
|
||||
}
|
||||
|
||||
// #sec-temporal.timezone.prototype.tostring
|
||||
MaybeHandle<Object> JSTemporalTimeZone::ToString(
|
||||
Isolate* isolate, Handle<JSTemporalTimeZone> time_zone,
|
||||
@ -7066,12 +7128,13 @@ int32_t JSTemporalTimeZone::time_zone_index() const {
|
||||
int64_t JSTemporalTimeZone::offset_nanoseconds() const {
|
||||
TEMPORAL_ENTER_FUNC();
|
||||
DCHECK(is_offset());
|
||||
return 1000000L * offset_milliseconds() + offset_sub_milliseconds();
|
||||
return static_cast<int64_t>(offset_milliseconds()) * 1000000 +
|
||||
static_cast<int64_t>(offset_sub_milliseconds());
|
||||
}
|
||||
|
||||
void JSTemporalTimeZone::set_offset_nanoseconds(int64_t ns) {
|
||||
this->set_offset_milliseconds(static_cast<int32_t>(ns / 1000000L));
|
||||
this->set_offset_sub_milliseconds(static_cast<int32_t>(ns % 1000000L));
|
||||
this->set_offset_milliseconds(static_cast<int32_t>(ns / 1000000));
|
||||
this->set_offset_sub_milliseconds(static_cast<int32_t>(ns % 1000000));
|
||||
}
|
||||
|
||||
MaybeHandle<String> JSTemporalTimeZone::id(Isolate* isolate) const {
|
||||
|
@ -437,6 +437,16 @@ class JSTemporalTimeZone
|
||||
Isolate* isolate, Handle<JSTemporalTimeZone> time_zone,
|
||||
Handle<Object> date_time);
|
||||
|
||||
// #sec-temporal.timezone.prototype.getoffsetnanosecondsfor
|
||||
V8_WARN_UNUSED_RESULT static MaybeHandle<Object> GetOffsetNanosecondsFor(
|
||||
Isolate* isolate, Handle<JSTemporalTimeZone> time_zone,
|
||||
Handle<Object> instance);
|
||||
|
||||
// #sec-temporal.timezone.prototype.getoffsetstringfor
|
||||
V8_WARN_UNUSED_RESULT static MaybeHandle<String> GetOffsetStringFor(
|
||||
Isolate* isolate, Handle<JSTemporalTimeZone> time_zone,
|
||||
Handle<Object> instance);
|
||||
|
||||
// #sec-temporal.timezone.prototype.tostring
|
||||
static MaybeHandle<Object> ToString(Isolate* isolate,
|
||||
Handle<JSTemporalTimeZone> time_zone,
|
||||
|
@ -68,18 +68,15 @@
|
||||
'temporal/plain-date-add': [FAIL],
|
||||
'temporal/plain-date-compare': [FAIL],
|
||||
'temporal/plain-date-equals': [FAIL],
|
||||
'temporal/plain-date-from': [FAIL],
|
||||
'temporal/plain-date-time-add': [FAIL],
|
||||
'temporal/plain-date-time-compare': [FAIL],
|
||||
'temporal/plain-date-time-equals': [FAIL],
|
||||
'temporal/plain-date-time-from': [FAIL],
|
||||
'temporal/plain-date-time-subtract': [FAIL],
|
||||
'temporal/plain-date-time-to-json': [FAIL],
|
||||
'temporal/plain-date-time-to-plain-date': [FAIL],
|
||||
'temporal/plain-date-time-to-plain-month-day': [FAIL],
|
||||
'temporal/plain-date-time-to-plain-time': [FAIL],
|
||||
'temporal/plain-date-time-to-plain-year-month': [FAIL],
|
||||
'temporal/plain-date-time-valueOf': [FAIL],
|
||||
'temporal/plain-date-time-with': [FAIL],
|
||||
'temporal/plain-date-time-with-plain-date': [FAIL],
|
||||
'temporal/plain-date-time-with-plain-time': [FAIL],
|
||||
@ -87,7 +84,6 @@
|
||||
'temporal/plain-date-to-plain-date-time': [FAIL],
|
||||
'temporal/plain-date-to-plain-month-day': [FAIL],
|
||||
'temporal/plain-date-to-plain-year-month': [FAIL],
|
||||
'temporal/plain-date-valueOf': [FAIL],
|
||||
'temporal/plain-date-with': [FAIL],
|
||||
|
||||
##############################################################################
|
||||
|
@ -308,8 +308,6 @@
|
||||
'built-ins/Temporal/Duration/prototype/add/argument-string-negative-fractional-units': [FAIL],
|
||||
'built-ins/Temporal/Duration/prototype/add/balance-negative-result': [FAIL],
|
||||
|
||||
'built-ins/Temporal/TimeZone/from/argument-valid': [SKIP],
|
||||
|
||||
# incorect calculation
|
||||
# https://github.com/tc39/test262/pull/3250
|
||||
'built-ins/Temporal/PlainDate/prototype/since/largestunit-higher-units': [FAIL],
|
||||
@ -367,7 +365,6 @@
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/startOfDay/calendar-dateadd-called-with-options-undefined': [SKIP],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/withPlainDate/calendar-dateadd-called-with-options-undefined': [SKIP],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/calendar-dateadd-called-with-options-undefined': [SKIP],
|
||||
'built-ins/Temporal/TimeZone/basic': [SKIP],
|
||||
|
||||
# TimeZone name test should move to intl402
|
||||
# https://github.com/tc39/test262/issues/3253
|
||||
@ -693,16 +690,6 @@
|
||||
'built-ins/Temporal/Instant/prototype/until/smallestunit-plurals-accepted': [FAIL],
|
||||
'built-ins/Temporal/Instant/prototype/until/smallestunit-undefined': [FAIL],
|
||||
'built-ins/Temporal/Instant/prototype/until/smallestunit-wrong-type': [FAIL],
|
||||
'built-ins/Temporal/Now/plainDate/calendar-temporal-object': [FAIL],
|
||||
'built-ins/Temporal/Now/plainDateISO/timezone-string-datetime': [FAIL],
|
||||
'built-ins/Temporal/Now/plainDateTime/calendar-object': [FAIL],
|
||||
'built-ins/Temporal/Now/plainDateTime/calendar-temporal-object': [FAIL],
|
||||
'built-ins/Temporal/Now/plainDateTimeISO/timezone-string-datetime': [FAIL],
|
||||
'built-ins/Temporal/Now/plainDateTimeISO/time-zone-undefined': [FAIL],
|
||||
'built-ins/Temporal/Now/plainDateTime/timezone-string-datetime': [FAIL],
|
||||
'built-ins/Temporal/Now/plainDateTime/time-zone-undefined': [FAIL],
|
||||
'built-ins/Temporal/Now/plainDate/timezone-string-datetime': [FAIL],
|
||||
'built-ins/Temporal/Now/plainTimeISO/timezone-string-datetime': [FAIL],
|
||||
'built-ins/Temporal/Now/zonedDateTimeISO/timezone-string-multiple-offsets': [FAIL],
|
||||
'built-ins/Temporal/Now/zonedDateTime/timezone-string-multiple-offsets': [FAIL],
|
||||
'built-ins/Temporal/PlainDate/compare/argument-object': [FAIL],
|
||||
@ -927,7 +914,6 @@
|
||||
'built-ins/Temporal/PlainDateTime/compare/read-time-fields-before-datefromfields': [FAIL],
|
||||
'built-ins/Temporal/PlainDateTime/compare/use-internal-slots': [FAIL],
|
||||
'built-ins/Temporal/PlainDateTime/from/argument-zoneddatetime-balance-negative-time-units': [FAIL],
|
||||
'built-ins/Temporal/PlainDateTime/from/argument-zoneddatetime-negative-epochnanoseconds': [FAIL],
|
||||
'built-ins/Temporal/PlainDateTime/prototype/add/argument-not-object': [FAIL],
|
||||
'built-ins/Temporal/PlainDateTime/prototype/add/argument-string': [FAIL],
|
||||
'built-ins/Temporal/PlainDateTime/prototype/add/argument-string-negative-fractional-units': [FAIL],
|
||||
@ -1216,7 +1202,6 @@
|
||||
'built-ins/Temporal/PlainTime/compare/plaintime-propertybag-no-time-units': [FAIL],
|
||||
'built-ins/Temporal/PlainTime/compare/use-internal-slots': [FAIL],
|
||||
'built-ins/Temporal/PlainTime/from/argument-zoneddatetime-balance-negative-time-units': [FAIL],
|
||||
'built-ins/Temporal/PlainTime/from/argument-zoneddatetime-negative-epochnanoseconds': [FAIL],
|
||||
'built-ins/Temporal/PlainTime/prototype/add/argument-not-object': [FAIL],
|
||||
'built-ins/Temporal/PlainTime/prototype/add/argument-string': [FAIL],
|
||||
'built-ins/Temporal/PlainTime/prototype/add/argument-string-negative-fractional-units': [FAIL],
|
||||
@ -1528,37 +1513,15 @@
|
||||
'built-ins/Temporal/PlainYearMonth/prototype/with/overflow-undefined': [FAIL],
|
||||
'built-ins/Temporal/PlainYearMonth/prototype/with/overflow-wrong-type': [FAIL],
|
||||
'built-ins/Temporal/PlainYearMonth/prototype/with/subclassing-ignored': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/from/timezone-string-datetime': [SKIP],
|
||||
'built-ins/Temporal/TimeZone/from/timezone-string-multiple-offsets': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-zoneddatetime-balance-negative-time-units': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-zoneddatetime-negative-epochnanoseconds': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getInstantFor/balance-negative-time-units': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getInstantFor/disambiguation-undefined': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getInstantFor/options-undefined': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/argument-not-absolute': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/argument-zoneddatetime': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/branding': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/instant-string': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/argument-not-absolute': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/argument-not-absolute-getOffsetNanosecondsFor-override': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/argument-zoneddatetime': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/basic': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/branding': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/instant-string': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/timezone-getoffsetnanosecondsfor-non-integer': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/timezone-getoffsetnanosecondsfor-not-callable': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/timezone-getoffsetnanosecondsfor-out-of-range': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/timezone-getoffsetnanosecondsfor-wrong-type': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/argument-negative-epochnanoseconds': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/argument-zoneddatetime': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/balance-negative-time-units': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/calendar-temporal-object': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/calendar-undefined': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/instant-string': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/instant-string-multiple-offsets': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/pre-epoch': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-zoneddatetime-balance-negative-time-units': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-zoneddatetime-negative-epochnanoseconds': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/compare/argument-propertybag-timezone-getoffsetnanosecondsfor-non-integer': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/compare/argument-propertybag-timezone-getoffsetnanosecondsfor-not-callable': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/compare/argument-propertybag-timezone-getoffsetnanosecondsfor-out-of-range': [FAIL],
|
||||
@ -1658,11 +1621,6 @@
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/equals/zoneddatetime-string': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/equals/zoneddatetime-string-multiple-offsets': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/getISOFields/balance-negative-time-units': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/getISOFields/field-names': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/getISOFields/field-prop-desc': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/getISOFields/field-traversal-order': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/getISOFields/negative-epochnanoseconds': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/getISOFields/offset': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/hour/balance-negative-time-units': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/hoursInDay/branding': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/hoursInDay/timezone-getoffsetnanosecondsfor-non-integer': [FAIL],
|
||||
@ -1676,9 +1634,7 @@
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/inLeapYear/timezone-getoffsetnanosecondsfor-out-of-range': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/inLeapYear/timezone-getoffsetnanosecondsfor-wrong-type': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/microsecond/balance-negative-time-units': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/microsecond/negative-epochnanoseconds': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/millisecond/balance-negative-time-units': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/millisecond/negative-epochnanoseconds': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/minute/balance-negative-time-units': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/month/branding': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/month/calendar-returns-infinity': [FAIL],
|
||||
@ -1696,8 +1652,6 @@
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/month/timezone-getoffsetnanosecondsfor-not-callable': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/month/timezone-getoffsetnanosecondsfor-out-of-range': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/month/timezone-getoffsetnanosecondsfor-wrong-type': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/nanosecond/negative-epochnanoseconds': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/offset/basic': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/round/branding': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/round/dateadd-options': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/round/div-zero': [FAIL],
|
||||
@ -1804,11 +1758,6 @@
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainDate/timezone-getoffsetnanosecondsfor-not-callable': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainDate/timezone-getoffsetnanosecondsfor-out-of-range': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainDate/timezone-getoffsetnanosecondsfor-wrong-type': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/calendar-arguments': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/calendar-fields-iterable': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/calendar-monthdayfromfields-called-with-options-undefined': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainMonthDay/calendar-result': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/calendar-yearmonthfromfields-called-with-options-undefined': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/balance-negative-time-units': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/branding': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/negative-epochnanoseconds': [FAIL],
|
||||
@ -1816,9 +1765,6 @@
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/timezone-getoffsetnanosecondsfor-not-callable': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/timezone-getoffsetnanosecondsfor-out-of-range': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainTime/timezone-getoffsetnanosecondsfor-wrong-type': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/calendar-arguments': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/calendar-fields-iterable': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toPlainYearMonth/calendar-result': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toString/balance-negative-time-units': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toString/branding': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/toString/calendarname-invalid-string': [FAIL],
|
||||
@ -2058,8 +2004,6 @@
|
||||
'intl402/Temporal/ZonedDateTime/prototype/until/timezone-string-datetime': [FAIL],
|
||||
'intl402/Temporal/Calendar/prototype/eraYear/year-zero': [FAIL],
|
||||
'intl402/Temporal/Calendar/prototype/era/year-zero': [FAIL],
|
||||
'intl402/Temporal/Now/plainDate/calendar-string': [FAIL],
|
||||
'intl402/Temporal/Now/plainDateTime/calendar-string': [FAIL],
|
||||
'intl402/Temporal/PlainYearMonth/from/argument-object': [FAIL],
|
||||
'built-ins/Temporal/Calendar/prototype/dateAdd/year-zero': [FAIL],
|
||||
'built-ins/Temporal/Calendar/prototype/dateUntil/year-zero': [FAIL],
|
||||
@ -2097,9 +2041,6 @@
|
||||
'built-ins/Temporal/Instant/prototype/subtract/argument-string-fractional-units-rounding-mode': [FAIL],
|
||||
'built-ins/Temporal/Instant/prototype/until/largestunit-smallestunit-mismatch': [FAIL],
|
||||
'built-ins/Temporal/Instant/prototype/until/year-zero': [FAIL],
|
||||
'built-ins/Temporal/Now/plainDateISO/return-value': [FAIL],
|
||||
'built-ins/Temporal/Now/plainDateTimeISO/return-value-calendar': [FAIL],
|
||||
'built-ins/Temporal/Now/plainTimeISO/return-value': [FAIL],
|
||||
'built-ins/Temporal/PlainDate/compare/year-zero': [FAIL],
|
||||
'built-ins/Temporal/PlainDate/from/year-zero': [FAIL],
|
||||
'built-ins/Temporal/PlainDate/prototype/add/argument-invalid-duration': [FAIL],
|
||||
@ -2338,8 +2279,6 @@
|
||||
'built-ins/Temporal/PlainYearMonth/prototype/with/copy-properties-not-undefined': [FAIL],
|
||||
'built-ins/Temporal/PlainYearMonth/prototype/with/options-wrong-type': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getInstantFor/year-zero': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/year-zero': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/year-zero': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/year-zero': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/year-zero': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/compare/argument-propertybag-offset-not-agreeing-with-timezone': [FAIL],
|
||||
@ -2754,10 +2693,8 @@
|
||||
'built-ins/Temporal/PlainYearMonth/prototype/until/argument-propertybag-calendar-wrong-type': [FAIL],
|
||||
'built-ins/Temporal/PlainYearMonth/prototype/until/argument-wrong-type': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-propertybag-calendar-number': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/argument-object-tostring': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/argument-wrong-type': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/calendar-number': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/instant-string-sub-minute-offset': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPlainDateTimeFor/limits': [FAIL],
|
||||
'built-ins/Temporal/TimeZone/prototype/getPossibleInstantsFor/argument-propertybag-calendar-number': [FAIL],
|
||||
'built-ins/Temporal/ZonedDateTime/calendar-number': [FAIL],
|
||||
@ -2854,13 +2791,6 @@
|
||||
'intl402/DurationFormat/prototype/toStringTag/toString': [FAIL],
|
||||
'intl402/DurationFormat/prototype/toStringTag/toStringTag': [FAIL],
|
||||
|
||||
# Flaky tests
|
||||
'built-ins/Temporal/Now/zonedDateTimeISO/timezone-string-datetime': [SKIP],
|
||||
'built-ins/Temporal/ZonedDateTime/prototype/withTimeZone/timezone-string-datetime': [SKIP],
|
||||
'built-ins/Temporal/ZonedDateTime/timezone-string-datetime': [SKIP],
|
||||
'built-ins/Temporal/Instant/from/instant-string-sub-minute-offset': [SKIP],
|
||||
'built-ins/Temporal/Instant/from/basic': [SKIP],
|
||||
|
||||
# https://bugs.chromium.org/p/v8/issues/detail?id=11989
|
||||
'built-ins/ShadowRealm/prototype/evaluate/globalthis-ordinary-object': [FAIL],
|
||||
|
||||
@ -3004,7 +2934,6 @@
|
||||
'language/identifiers/start-unicode-7*': [FAIL],
|
||||
'language/identifiers/start-unicode-8*': [FAIL],
|
||||
'language/identifiers/start-unicode-9*': [FAIL],
|
||||
|
||||
}], # no_i18n == True
|
||||
|
||||
['arch == arm or arch == mipsel or arch == mips or arch == arm64 or arch == mips64 or arch == mips64el', {
|
||||
|
Loading…
Reference in New Issue
Block a user