boa
boa copied to clipboard
add some temporal methods
Adds methods to yearMonth
month year calendarId monthCode daysInYear daysInMonth monthsInYear inLeapYear
Relies on https://github.com/boa-dev/temporal/pull/44
Test262 conformance changes
| Test result | main count | PR count | difference |
|---|---|---|---|
| Total | 48,212 | 48,212 | 0 |
| Passed | 43,264 | 43,346 | +82 |
| Ignored | 1,413 | 1,413 | 0 |
| Failed | 3,535 | 3,453 | -82 |
| Panics | 0 | 0 | 0 |
| Conformance | 89.74% | 89.91% | +0.17% |
Fixed tests (130):
test/staging/Temporal/Regex/old/plainyearmonth.js (previously Failed)
test/staging/Temporal/Regex/old/plainmonthday.js (previously Failed)
test/built-ins/Temporal/Instant/prototype/since/instant-string-multiple-offsets.js (previously Failed)
test/built-ins/Temporal/Instant/prototype/since/round-cross-unit-boundary.js (previously Failed)
test/built-ins/Temporal/Instant/prototype/since/argument-string-time-separators.js (previously Failed)
test/built-ins/Temporal/Instant/prototype/since/options-object.js (previously Failed)
test/built-ins/Temporal/Instant/prototype/since/argument-string-calendar-annotation.js (previously Failed)
test/built-ins/Temporal/Instant/prototype/since/argument-string-time-zone-annotation.js (previously Failed)
test/built-ins/Temporal/Instant/prototype/since/argument-string-unknown-annotation.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/from/argument-propertybag-calendar-wrong-type.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/from/argument-string-minus-sign.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/from/argument-string-calendar-annotation-invalid-key.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/from/argument-string-multiple-time-zone.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/from/year-zero.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/from/observable-get-overflow-argument-string-invalid.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/from/argument-propertybag-calendar-year-zero.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/from/name.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/from/argument-string-multiple-calendar.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/from/not-a-constructor.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/from/prop-desc.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/from/builtin.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/from/argument-string-critical-unknown-annotation.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/prototype/day/branding.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/prototype/day/prop-desc.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/prototype/toString/branding.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/prototype/toString/prop-desc.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/prototype/monthCode/branding.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/prototype/monthCode/prop-desc.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/prototype/calendarId/branding.js (previously Failed)
test/built-ins/Temporal/PlainMonthDay/prototype/calendarId/prop-desc.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/round/roundingmode-expand.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/round/roundingmode-halfCeil.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/round/roundingmode-undefined.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/round/roundingmode-halfFloor.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/round/roundingmode-ceil.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/round/roundingmode-floor.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/round/roundingmode-halfTrunc.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/round/roundingmode-halfEven.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/round/roundingincrement-minutes.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/round/roundingmode-halfExpand.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/round/rounding-cross-midnight.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/since/round-cross-unit-boundary.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/since/argument-string-time-separators.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/since/options-object.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/since/argument-string-calendar-annotation.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/since/argument-string-time-zone-annotation.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/since/argument-string-date-with-utc-offset.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/since/largestunit-plurals-accepted.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/since/argument-string-unknown-annotation.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/until/result-sub-second.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/until/largestunit-plurals-accepted.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/add/argument-object.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/add/options-ignored.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/subtract/argument-object.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/subtract/balance-negative-time-units.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/subtract/subclassing-ignored.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/subtract/argument-duration.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/subtract/argument-string-negative-fractional-units.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/subtract/argument-string-fractional-units-rounding-mode.js (previously Failed)
test/built-ins/Temporal/PlainTime/prototype/subtract/options-ignored.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/calendar-string.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/calendar-undefined.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/from/argument-string-minus-sign.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/from/argument-string-calendar-annotation-invalid-key.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/from/argument-string-multiple-time-zone.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/from/argument-string-trailing-junk.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/from/year-zero.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/from/name.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/from/argument-string-multiple-calendar.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/from/not-a-constructor.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/from/options-undefined.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/from/prop-desc.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/from/builtin.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/from/argument-string-critical-unknown-annotation.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/monthsInYear/branding.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/monthsInYear/basic.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/month/branding.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/daysInMonth/branding.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/daysInMonth/basic.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/daysInYear/branding.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/daysInYear/basic.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/inLeapYear/branding.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/inLeapYear/basic.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/year/branding.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/add/options-invalid.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/add/overflow-invalid-string.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/add/argument-mixed-sign.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/add/limits.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/add/non-integer-throws-rangeerror.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/toString/calendarname-wrong-type.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/toString/calendarname-never.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/toString/branding.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/toString/calendarname-auto.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/toString/options-object.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/toString/order-of-operations.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/toString/options-wrong-type.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/toString/prop-desc.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/toString/calendarname-undefined.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/toString/calendarname-invalid-string.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/with/argument-timezone-field.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/with/argument-missing-fields.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/with/argument-calendar-field.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/monthCode/branding.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/subtract/options-invalid.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/subtract/overflow-invalid-string.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/subtract/builtin-calendar-no-array-iteration.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/subtract/argument-mixed-sign.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/subtract/non-integer-throws-rangeerror.js (previously Failed)
test/built-ins/Temporal/PlainYearMonth/prototype/calendarId/branding.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/since/largestunit-default.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/since/rounding-relative.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/since/options-object.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/since/weeks-months.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/since/smallestunit-undefined.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/since/largestunit-wrong-type.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/since/days-in-month.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/since/largestunit-undefined.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/since/roundingincrement-undefined.js (previously Failed)
test/built-ins/Temporal/PlainDate/prototype/since/days-in-year.js (previously Failed)
test/built-ins/Temporal/Duration/prototype/round/largestunit-plurals-accepted.js (previously Failed)
test/built-ins/Temporal/Duration/prototype/round/largestunit-smallestunit-combinations.js (previously Failed)
test/built-ins/Temporal/Duration/prototype/with/sign-conflict-throws-rangeerror.js (previously Failed)
test/built-ins/Temporal/Duration/prototype/negated/subclassing-ignored.js (previously Failed)
test/built-ins/Temporal/Duration/prototype/negated/basic.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prototype/until/subseconds.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prototype/add/hour-overflow.js (previously Failed)
test/built-ins/Temporal/PlainDateTime/prototype/subtract/hour-overflow.js (previously Failed)
test/intl402/Temporal/PlainMonthDay/from/canonicalize-calendar.js (previously Failed)
test/intl402/Temporal/PlainMonthDay/prototype/with/fields-missing-properties.js (previously Failed)
test/intl402/Temporal/PlainYearMonth/canonicalize-calendar.js (previously Failed)
Broken tests (48):
test/built-ins/Temporal/Instant/prototype/until/roundingmode-expand.js (previously Passed)
test/built-ins/Temporal/Instant/prototype/until/roundingmode-halfCeil.js (previously Passed)
test/built-ins/Temporal/Instant/prototype/until/roundingmode-halfFloor.js (previously Passed)
test/built-ins/Temporal/Instant/prototype/until/roundingmode-ceil.js (previously Passed)
test/built-ins/Temporal/Instant/prototype/until/roundingmode-floor.js (previously Passed)
test/built-ins/Temporal/Instant/prototype/until/roundingmode-halfTrunc.js (previously Passed)
test/built-ins/Temporal/Instant/prototype/until/roundingmode-halfEven.js (previously Passed)
test/built-ins/Temporal/Instant/prototype/until/roundingmode-halfExpand.js (previously Passed)
test/built-ins/Temporal/PlainMonthDay/from/fields-missing-properties.js (previously Passed)
test/built-ins/Temporal/PlainMonthDay/prototype/toString/length.js (previously Passed)
test/built-ins/Temporal/PlainTime/prototype/until/roundingmode-expand.js (previously Passed)
test/built-ins/Temporal/PlainTime/prototype/until/roundingmode-halfCeil.js (previously Passed)
test/built-ins/Temporal/PlainTime/prototype/until/argument-string-with-time-designator.js (previously Passed)
test/built-ins/Temporal/PlainTime/prototype/until/balance-negative-time-units.js (previously Passed)
test/built-ins/Temporal/PlainTime/prototype/until/roundingmode-halfFloor.js (previously Passed)
test/built-ins/Temporal/PlainTime/prototype/until/roundingmode-ceil.js (previously Passed)
test/built-ins/Temporal/PlainTime/prototype/until/roundingmode-floor.js (previously Passed)
test/built-ins/Temporal/PlainTime/prototype/until/roundingmode-halfTrunc.js (previously Passed)
test/built-ins/Temporal/PlainTime/prototype/until/roundingmode-halfEven.js (previously Passed)
test/built-ins/Temporal/PlainTime/prototype/until/roundingmode-halfExpand.js (previously Passed)
test/built-ins/Temporal/PlainTime/prototype/until/basic.js (previously Passed)
test/built-ins/Temporal/PlainYearMonth/from/fields-missing-properties.js (previously Passed)
test/built-ins/Temporal/PlainYearMonth/from/argument-propertybag-calendar-number.js (previously Passed)
test/built-ins/Temporal/PlainYearMonth/from/options-invalid.js (previously Passed)
test/built-ins/Temporal/PlainYearMonth/prototype/toString/length.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/balance-negative-result.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/roundingmode-expand.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/roundingmode-halfCeil.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/round-negative-result.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/balance-subseconds.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/roundingmode-halfFloor.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/roundingmode-ceil.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/roundingmode-floor.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/roundingmode-halfTrunc.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/roundingmode-halfEven.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/round/roundingmode-halfExpand.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/add/balance-negative-result.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/add/balance-negative-time-units.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/add/argument-string-negative-fractional-units.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/add/argument-string-fractional-units-rounding-mode.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/subtract/balance-negative-result.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/subtract/balance-negative-time-units.js (previously Passed)
test/built-ins/Temporal/Duration/prototype/subtract/argument-string-fractional-units-rounding-mode.js (previously Passed)
test/built-ins/Temporal/PlainDateTime/prototype/until/balance-negative-time-units.js (previously Passed)
test/built-ins/Temporal/PlainDateTime/prototype/until/balance-negative-duration.js (previously Passed)
test/intl402/Temporal/PlainMonthDay/from/fields-missing-properties.js (previously Passed)
test/intl402/Temporal/PlainMonthDay/from/fields-underspecified.js (previously Passed)
test/intl402/Temporal/PlainYearMonth/from/one-of-era-erayear-undefined.js (previously Passed)
linked to https://github.com/boa-dev/temporal/pull/44
Was double checking this. I think the new revision of temporal_rs needs to be added, and then I think this PR should be just about good to go.