Files

44 lines
1.2 KiB
TypeScript

import assert from 'node:assert/strict'
import test from 'node:test'
import { formatDateTime, formatPublishedElapsedTime } from '../src/utils/date-time.ts'
test('formatPublishedElapsedTime formats elapsed time for worker hall', () => {
const baseTime = new Date('2026-09-13T10:00:00.000Z').getTime()
// Invalid or empty
assert.equal(formatPublishedElapsedTime(null, baseTime), '')
assert.equal(formatPublishedElapsedTime('', baseTime), '')
assert.equal(formatPublishedElapsedTime('invalid-date', baseTime), '')
// <1m
assert.equal(
formatPublishedElapsedTime(new Date(baseTime - 30 * 1000).toISOString(), baseTime),
'发布 <1m',
)
// 5m
assert.equal(
formatPublishedElapsedTime(new Date(baseTime - 5 * 60 * 1000).toISOString(), baseTime),
'发布 5m',
)
// 1h
assert.equal(
formatPublishedElapsedTime(new Date(baseTime - 60 * 60 * 1000).toISOString(), baseTime),
'发布 1h',
)
// 1h 25m
assert.equal(
formatPublishedElapsedTime(new Date(baseTime - 85 * 60 * 1000).toISOString(), baseTime),
'发布 1h 25m',
)
// 2d 3h
assert.equal(
formatPublishedElapsedTime(new Date(baseTime - (48 + 3) * 3600 * 1000).toISOString(), baseTime),
'发布 2d 3h',
)
})