Files
hop.noname.company/apps/server/test/display-format.test.js

25 lines
913 B
JavaScript

import { test } from 'node:test';
import assert from 'node:assert/strict';
import { formatSize, formatAdminDate } from '../../web/src/displayFormat.js';
test('shared display sizes use decimal KB below 1MB and switch only at MB/GB boundaries', () => {
for (const [bytes, expected] of [
[0, '0KB'],
[10, '1KB 미만'],
[1000, '1KB'],
[938000, '938KB'],
[999000, '999KB'],
[1000000, '1.0MB'],
[1100000, '1.1MB'],
[1000000000, '1.0GB'],
[1700000000, '1.7GB'],
])
assert.equal(formatSize(bytes), expected);
});
test('admin dates include year and unambiguous Korea 24-hour time independent of host timezone', () => {
assert.equal(formatAdminDate(Date.parse('2026-10-22T02:02:00Z')), '2026년 10월 22일 11:02');
assert.equal(formatAdminDate(Date.parse('2026-10-21T15:02:00Z')), '2026년 10월 22일 00:02');
assert.equal(formatAdminDate(null), '확인 불가');
});