27 lines
974 B
JavaScript
27 lines
974 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'],
|
|
[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), '확인 불가');
|
|
});
|