LibJS: Convert errant MUST to TRY in Temporal.PlainDateTime.with

This commit is contained in:
Timothy Flynn 2025-01-16 08:18:37 -05:00 committed by Andreas Kling
parent c3fc8996bf
commit d5b26183f3
Notes: github-actions[bot] 2025-01-17 09:09:14 +00:00
2 changed files with 9 additions and 1 deletions

View file

@ -289,7 +289,7 @@ JS_DEFINE_NATIVE_FUNCTION(PlainDateTimePrototype::with)
auto result = TRY(interpret_temporal_date_time_fields(vm, calendar, fields, overflow));
// 17. Return ? CreateTemporalDateTime(result, calendar).
return MUST(create_temporal_date_time(vm, result, calendar));
return TRY(create_temporal_date_time(vm, result, calendar));
}
// 5.3.26 Temporal.PlainDateTime.prototype.withPlainTime ( [ plainTimeLike ] ), https://tc39.es/proposal-temporal/#sec-temporal.plaindatetime.prototype.withplaintime

View file

@ -80,4 +80,12 @@ describe("errors", () => {
new Temporal.PlainDateTime(1970, 1, 1).with({ timeZone: {} });
}).toThrowWithMessage(TypeError, "Object must be a partial Temporal object");
});
test("invalid ISO date range", () => {
const plainDateTime = new Temporal.PlainDateTime(-271821, 4, 19, 0, 0, 0, 0, 0, 1);
expect(() => {
plainDateTime.with({ nanosecond: 0 });
}).toThrowWithMessage(RangeError, "Invalid plain date time");
});
});