Commit 07601b12 authored by Frank Tang's avatar Frank Tang Committed by V8 LUCI CQ

[Temporal] Add Calendar.prototype.dateUntil

Also add AOs: ToLargestTemporalUnit, ToISODayOfYear, RegulateISODate,
AddISODate, DifferenceISODate

Spec Text:
https://tc39.es/proposal-temporal/#sec-temporal.calendar.prototype.dateuntil
https://tc39.es/proposal-temporal/#sec-temporal-tolargesttemporalunit
https://tc39.es/proposal-temporal/#sec-temporal-toisodayofyear
https://tc39.es/proposal-temporal/#sec-temporal-regulateisodate
https://tc39.es/proposal-temporal/#sec-temporal-addisodate
https://tc39.es/proposal-temporal/#sec-temporal-differenceisodate

Bug: v8:11544
Change-Id: I03a28bf07ddfae036491e49cb06278d050ddebf6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3534620Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80166}
parent 7095683a
......@@ -304,8 +304,6 @@ TO_BE_IMPLEMENTED(TemporalCalendarPrototypeYearMonthFromFields)
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeMonthDayFromFields)
/* Temporal #sec-temporal.calendar.prototype.dateadd */
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeDateAdd)
/* Temporal #sec-temporal.calendar.prototype.dateuntil */
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeDateUntil)
/* Temporal #sec-temporal.calendar.prototype.month */
TO_BE_IMPLEMENTED(TemporalCalendarPrototypeMonth)
/* Temporal #sec-temporal.calendar.prototype.monthcode */
......@@ -788,6 +786,7 @@ TEMPORAL_GET_BIGINT_AFTER_DIVID(Instant, EpochMicroseconds, nanoseconds, 1000,
TEMPORAL_CONSTRUCTOR1(Calendar)
TEMPORAL_ID_BY_TO_STRING(Calendar)
TEMPORAL_PROTOTYPE_METHOD2(Calendar, DateFromFields, dateFromFields)
TEMPORAL_PROTOTYPE_METHOD3(Calendar, DateUntil, dateUntil)
TEMPORAL_PROTOTYPE_METHOD1(Calendar, DaysInMonth, daysInMonth)
TEMPORAL_PROTOTYPE_METHOD1(Calendar, DaysInWeek, daysInWeek)
TEMPORAL_PROTOTYPE_METHOD1(Calendar, DaysInYear, daysInYear)
......
This diff is collapsed.
......@@ -102,6 +102,11 @@ class JSTemporalCalendar
Isolate* isolate, Handle<JSTemporalCalendar> calendar,
Handle<Object> fields, Handle<Object> additional_fields);
// #sec-temporal.calendar.prototype.dateuntil
V8_WARN_UNUSED_RESULT static MaybeHandle<JSTemporalDuration> DateUntil(
Isolate* isolate, Handle<JSTemporalCalendar> calendar, Handle<Object> one,
Handle<Object> two, Handle<Object> options);
// #sec-temporal.calendar.prototype.tostring
static MaybeHandle<String> ToString(Isolate* isolate,
Handle<JSTemporalCalendar> calendar,
......
......@@ -473,26 +473,8 @@
'built-ins/Temporal/Calendar/prototype/dateFromFields/with-year-monthCode-day-need-constrain': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateFromFields/with-year-month-day': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateFromFields/with-year-month-day-need-constrain': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/argument-infinity-throws-rangeerror': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/argument-plaindatetime': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/argument-string-with-utc-designator': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-out-of-range': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-wrong-type': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/basic': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/branding': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/calendar-fields-iterable': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/calendar-temporal-object': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/largest-unit-day': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/largest-unit-month': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/largestunit-plurals-accepted': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/largest-unit-week': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/largest-unit-year': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/no-options': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/throws-range-error-ToLargestTemporalUnit': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/throws-range-error-ToTemporalDate': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/throws-type-error-GetOptionsObject': [FAIL],
'built-ins/Temporal/Calendar/prototype/day/argument-string-with-utc-designator': [FAIL],
'built-ins/Temporal/Calendar/prototype/day/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-non-integer': [FAIL],
'built-ins/Temporal/Calendar/prototype/day/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable': [FAIL],
......@@ -2200,7 +2182,6 @@
'intl402/DateTimeFormat/prototype/formatToParts/temporal-objects-resolved-time-zone': [FAIL],
'intl402/Temporal/Calendar/prototype/dateAdd/date-infinity-throws-rangeerror': [FAIL],
'intl402/Temporal/Calendar/prototype/dateFromFields/infinity-throws-rangeerror': [FAIL],
'intl402/Temporal/Calendar/prototype/dateUntil/argument-infinity-throws-rangeerror': [FAIL],
'intl402/Temporal/Calendar/prototype/day/infinity-throws-rangeerror': [FAIL],
'intl402/Temporal/Calendar/prototype/era/argument-string-with-utc-designator': [FAIL],
'intl402/Temporal/Calendar/prototype/era/argument-zoneddatetime-timezone-getoffsetnanosecondsfor-not-callable': [FAIL],
......@@ -2630,7 +2611,6 @@
'built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/year-zero': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateAdd/argument-string-invalid': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/argument-string-invalid': [FAIL],
'built-ins/Temporal/Calendar/prototype/day/argument-string-invalid': [FAIL],
'built-ins/Temporal/Calendar/prototype/month/argument-string-invalid': [FAIL],
'built-ins/Temporal/Calendar/prototype/monthCode/argument-string-invalid': [FAIL],
......@@ -2730,7 +2710,6 @@
'intl402/Temporal/Calendar/prototype/eraYear/argument-string-invalid': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateAdd/options-wrong-type': [FAIL],
'built-ins/Temporal/Calendar/prototype/dateUntil/options-wrong-type': [FAIL],
'built-ins/Temporal/Calendar/prototype/monthDayFromFields/options-wrong-type': [FAIL],
'built-ins/Temporal/Calendar/prototype/yearMonthFromFields/options-wrong-type': [FAIL],
'built-ins/Temporal/Duration/compare/options-wrong-type': [FAIL],
......
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