mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 04:17:34 +00:00
LibJS: Fix logic typo in balance_duration() hours calculation
By using milliseconds_division_result instead of seconds_division_result here, the result for hours was off by a factor of 60.
This commit is contained in:
parent
b97f9f8e17
commit
f0cd727d74
3 changed files with 3 additions and 3 deletions
|
@ -399,7 +399,7 @@ ThrowCompletionOr<BalancedDuration> balance_duration(GlobalObject& global_object
|
||||||
// h. Set seconds to seconds modulo 60.
|
// h. Set seconds to seconds modulo 60.
|
||||||
seconds = seconds_division_result.remainder.to_double();
|
seconds = seconds_division_result.remainder.to_double();
|
||||||
// i. Set hours to floor(minutes / 60).
|
// i. Set hours to floor(minutes / 60).
|
||||||
auto minutes_division_result = milliseconds_division_result.quotient.divided_by(Crypto::UnsignedBigInteger(60));
|
auto minutes_division_result = seconds_division_result.quotient.divided_by(Crypto::UnsignedBigInteger(60));
|
||||||
hours = minutes_division_result.quotient.to_double();
|
hours = minutes_division_result.quotient.to_double();
|
||||||
// j. Set minutes to minutes modulo 60.
|
// j. Set minutes to minutes modulo 60.
|
||||||
minutes = minutes_division_result.remainder.to_double();
|
minutes = minutes_division_result.remainder.to_double();
|
||||||
|
|
|
@ -7,7 +7,7 @@ describe("correct behavior", () => {
|
||||||
const instant1 = new Temporal.Instant(1625614920000000000n);
|
const instant1 = new Temporal.Instant(1625614920000000000n);
|
||||||
const instant2 = new Temporal.Instant(0n);
|
const instant2 = new Temporal.Instant(0n);
|
||||||
expect(instant1.since(instant2).seconds).toBe(1625614920);
|
expect(instant1.since(instant2).seconds).toBe(1625614920);
|
||||||
expect(instant1.since(instant2, { largestUnit: "hour" }).hours).toBe(27093582);
|
expect(instant1.since(instant2, { largestUnit: "hour" }).hours).toBe(451559);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ describe("correct behavior", () => {
|
||||||
const instant1 = new Temporal.Instant(0n);
|
const instant1 = new Temporal.Instant(0n);
|
||||||
const instant2 = new Temporal.Instant(1625614920000000000n);
|
const instant2 = new Temporal.Instant(1625614920000000000n);
|
||||||
expect(instant1.until(instant2).seconds).toBe(1625614920);
|
expect(instant1.until(instant2).seconds).toBe(1625614920);
|
||||||
expect(instant1.until(instant2, { largestUnit: "hour" }).hours).toBe(27093582);
|
expect(instant1.until(instant2, { largestUnit: "hour" }).hours).toBe(451559);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue