Fix: time-to-end offset (#1252)

* flip the sign correctly for time-to-end offset
This commit is contained in:
Alex Christoffer Rasmussen
2024-10-10 16:20:59 +02:00
committed by GitHub
parent db956f7955
commit fee2021ad7
2 changed files with 6 additions and 6 deletions
@@ -997,12 +997,12 @@ describe('getRuntimeOffset()', () => {
} as RuntimeState; } as RuntimeState;
const offset = getRuntimeOffset(state); const offset = getRuntimeOffset(state);
expect(offset).toBe(400000); // <--- offset is always the overtime expect(offset).toBe(-400000); // <--- offset is always the overtime
}); });
it('handles time-to-end started after the end time', () => { it('handles time-to-end started after the end time', () => {
const state = { const state = {
clock: 82000000, // 22:46:40 <--- starting 16 min after the scheduled end clock: 82000000, // 22:46:40 <--- starting 16m 40s after the scheduled end
eventNow: { eventNow: {
id: 'd6a2ce', id: 'd6a2ce',
timeStart: 77400000, // 21:30:00 timeStart: 77400000, // 21:30:00
@@ -1039,8 +1039,8 @@ describe('getRuntimeOffset()', () => {
const updateCurrent = getCurrent(state); const updateCurrent = getCurrent(state);
state.timer.current = updateCurrent; state.timer.current = updateCurrent;
const offset = getRuntimeOffset(state); const offset = getRuntimeOffset(state);
expect(millisToString(offset)).toBe('00:16:40'); expect(millisToString(offset)).toBe('-00:16:40');
expect(offset).toBe(82000000 - 81000000); // <-- now - planned end expect(offset).toBe(81000000 - 82000000); // <-- planned end - now
}); });
}); });
+2 -2
View File
@@ -140,7 +140,7 @@ export function getRuntimeOffset(state: RuntimeState): number {
return timeStart - clock; return timeStart - clock;
} }
const overtime = Math.abs(Math.min(current, 0)); const overtime = Math.min(current, 0);
// in time-to-end, offset is overtime // in time-to-end, offset is overtime
if (timerType === TimerType.TimeToEnd) { if (timerType === TimerType.TimeToEnd) {
return overtime; return overtime;
@@ -153,7 +153,7 @@ export function getRuntimeOffset(state: RuntimeState): number {
// addedTime - time added by user (negative offset) // addedTime - time added by user (negative offset)
// pausedTime - time the playback was paused (negative offset) // pausedTime - time the playback was paused (negative offset)
// overtime - how long the timer has been over-running (negative offset) // overtime - how long the timer has been over-running (negative offset)
return startOffset - addedTime - pausedTime - overtime; return startOffset - addedTime - pausedTime + overtime;
} }
/** /**