From 11a6702cef989ceffdcd8e6a994321aa29850b22 Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Mon, 27 Jun 2022 23:04:40 +0100 Subject: [PATCH] LibJS: Assert [[Days]] is zero for the balanced time in DifferenceTime This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/be982fb --- Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.cpp b/Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.cpp index c2eaf2771e..96256e01f0 100644 --- a/Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.cpp +++ b/Userland/Libraries/LibJS/Runtime/Temporal/PlainTime.cpp @@ -67,8 +67,11 @@ TimeDurationRecord difference_time(u8 hour1, u8 minute1, u8 second1, u16 millise // 8. Let bt be ! BalanceTime(hours × sign, minutes × sign, seconds × sign, milliseconds × sign, microseconds × sign, nanoseconds × sign). auto bt = balance_time(hours * sign, minutes * sign, seconds * sign, milliseconds * sign, microseconds * sign, nanoseconds * sign); - // 9. Return ! CreateTimeDurationRecord(bt.[[Days]] × sign, bt.[[Hour]] × sign, bt.[[Minute]] × sign, bt.[[Second]] × sign, bt.[[Millisecond]] × sign, bt.[[Microsecond]] × sign, bt.[[Nanosecond]] × sign). - return create_time_duration_record(static_cast(bt.days * sign), static_cast(bt.hour * sign), static_cast(bt.minute * sign), static_cast(bt.second * sign), static_cast(bt.millisecond * sign), static_cast(bt.microsecond * sign), static_cast(bt.nanosecond * sign)); + // 9. Assert: bt.[[Days]] is 0. + VERIFY(bt.days == 0); + + // 10. Return ! CreateTimeDurationRecord(0, bt.[[Hour]] × sign, bt.[[Minute]] × sign, bt.[[Second]] × sign, bt.[[Millisecond]] × sign, bt.[[Microsecond]] × sign, bt.[[Nanosecond]] × sign). + return create_time_duration_record(0, static_cast(bt.hour * sign), static_cast(bt.minute * sign), static_cast(bt.second * sign), static_cast(bt.millisecond * sign), static_cast(bt.microsecond * sign), static_cast(bt.nanosecond * sign)); } // 4.5.2 ToTemporalTime ( item [ , overflow ] ), https://tc39.es/proposal-temporal/#sec-temporal-totemporaltime