Claire d3c3e5d12a [Glitch] Fix relative times
Port 312400370506ba558c30dac6641b198fac0e1300 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2026-08-14 07:23:43 -04:00

39 lines
1.4 KiB
TypeScript

import { DAY, HOUR, MINUTE, relativeTimeParts, SECOND } from './time';
describe('relativeTimeParts', () => {
const now = Date.now();
test.concurrent.each([
// Now
[0, { value: 0, unit: 'second' }],
// Past
[-30 * SECOND, { value: -30, unit: 'second' }],
[-60 * SECOND, { value: -1, unit: 'minute' }],
[-90 * SECOND, { value: -1, unit: 'minute' }],
[-30 * MINUTE, { value: -30, unit: 'minute' }],
[-60 * MINUTE, { value: -1, unit: 'hour' }],
[-90 * MINUTE, { value: -1, unit: 'hour' }],
[-5 * HOUR, { value: -5, unit: 'hour' }],
[-24 * HOUR, { value: -1, unit: 'day' }],
[-36 * HOUR, { value: -1, unit: 'day' }],
[-47 * HOUR, { value: -1, unit: 'day' }],
[-3 * DAY, { value: -3, unit: 'day' }],
// Future
[SECOND, { value: 1, unit: 'second' }],
[59 * SECOND, { value: 59, unit: 'second' }],
[MINUTE, { value: 1, unit: 'minute' }],
[MINUTE + SECOND, { value: 1, unit: 'minute' }],
[59 * MINUTE, { value: 59, unit: 'minute' }],
[HOUR, { value: 1, unit: 'hour' }],
[HOUR + MINUTE, { value: 1, unit: 'hour' }],
[23 * HOUR, { value: 23, unit: 'hour' }],
[DAY, { value: 1, unit: 'day' }],
[DAY + HOUR, { value: 1, unit: 'day' }],
[2 * DAY, { value: 2, unit: 'day' }],
])('should return correct value and unit for %d ms', (input, expected) => {
expect(relativeTimeParts(now + input, now)).toMatchObject(expected);
});
});