Commit 972d7e5a authored by Frank Tang's avatar Frank Tang Committed by V8 LUCI CQ

[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/+/3534622Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80606}
parent 010de10e
......@@ -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', {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment