mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 01:17:46 +00:00
LibJS: Disallow negative day lengths in ZonedDateTime.protoype.round
This is a normative change in the Temporal spec.
See: 6f04074
This commit is contained in:
parent
114120852d
commit
61847b3cef
3 changed files with 34 additions and 5 deletions
|
@ -1018,10 +1018,10 @@ JS_DEFINE_NATIVE_FUNCTION(ZonedDateTimePrototype::round)
|
|||
// 18. Let dayLengthNs be ℝ(endNs - startNs).
|
||||
auto day_length_ns = end_ns->big_integer().minus(start_ns.big_integer()).to_double();
|
||||
|
||||
// 19. If dayLengthNs is 0, then
|
||||
if (day_length_ns == 0) {
|
||||
// 19. If dayLengthNs ≤ 0, then
|
||||
if (day_length_ns <= 0) {
|
||||
// a. Throw a RangeError exception.
|
||||
return vm.throw_completion<RangeError>(global_object, ErrorType::TemporalZonedDateTimeRoundZeroLengthDay);
|
||||
return vm.throw_completion<RangeError>(global_object, ErrorType::TemporalZonedDateTimeRoundZeroOrNegativeLengthDay);
|
||||
}
|
||||
|
||||
// 20. Let roundResult be ! RoundISODateTime(temporalDateTime.[[ISOYear]], temporalDateTime.[[ISOMonth]], temporalDateTime.[[ISODay]], temporalDateTime.[[ISOHour]], temporalDateTime.[[ISOMinute]], temporalDateTime.[[ISOSecond]], temporalDateTime.[[ISOMillisecond]], temporalDateTime.[[ISOMicrosecond]], temporalDateTime.[[ISONanosecond]], roundingIncrement, smallestUnit, roundingMode, dayLengthNs).
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue