import { test } from 'node:test'; import assert from 'node:assert/strict'; import dayjs from 'dayjs'; import { messageAriaLabel } from './a11y'; import { timeDayMonthYear, timeHourMinute } from './time'; test('messageAriaLabel composes sender, date and time (24h)', () => { const ts = dayjs('2026-07-01T14:30:00').valueOf(); assert.equal( messageAriaLabel('Alice', ts, true), `Alice, ${timeDayMonthYear(ts)} ${timeHourMinute(ts, true)}`, ); }); test('messageAriaLabel honours the 12-hour clock preference', () => { const ts = dayjs('2026-07-01T14:30:00').valueOf(); assert.equal( messageAriaLabel('Bob', ts, false), `Bob, ${timeDayMonthYear(ts)} ${timeHourMinute(ts, false)}`, ); }); test('messageAriaLabel keeps the sender name verbatim as plain text', () => { const ts = dayjs('2026-07-01T09:05:00').valueOf(); const label = messageAriaLabel('@user:example.org', ts, true); assert.ok(label.startsWith('@user:example.org, ')); assert.ok(!label.includes('<')); });