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'], [7687e9, '7,687.0GB'], [1234567e9, '1,234,567.0GB'], ]) 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), '확인 불가'); });