diff --git a/src/utils.mjs b/src/utils.mjs index 21db661..1ba1cec 100644 --- a/src/utils.mjs +++ b/src/utils.mjs @@ -95,12 +95,12 @@ export function maskTime(time, timePadding) { return baseHour + padding; } else { // If the padding is missing we use the current second to spread - // the result a little bit. We drop the current minute and the - // current milliseconds + // the result a little bit. We drop the current minute. const numSeconds = Math.floor((time - baseHour) / 1000); + const numMillis = time - baseHour - (numSeconds * 1000); const currentSecondAsMS = (numSeconds % 60) * 1000; - return baseHour + currentSecondAsMS; + return baseHour + currentSecondAsMS + numMillis; } } diff --git a/test/utils.test.mjs b/test/utils.test.mjs index bb2b7a9..0ac10b7 100644 --- a/test/utils.test.mjs +++ b/test/utils.test.mjs @@ -50,7 +50,7 @@ describe('Test Utils', () => { it('Use current second if padding is missing', () => { const sometime = new Date(2023, 8, 6, 15, 45, 27, 999); - const expectedTime = new Date(2023, 8, 6, 15, 0, 27).getTime(); + const expectedTime = new Date(2023, 8, 6, 15, 0, 27, 999).getTime(); const masked = maskTime(sometime); assert.equal(expectedTime, masked); }); @@ -58,7 +58,7 @@ describe('Test Utils', () => { it('Use current second if padding is not a number', () => { const sometime = new Date(2023, 8, 6, 15, 45, 27, 999); - const expectedTime = new Date(2023, 8, 6, 15, 0, 27).getTime(); + const expectedTime = new Date(2023, 8, 6, 15, 0, 27, 999).getTime(); const masked = maskTime(sometime, 'hello'); assert.equal(expectedTime, masked); });