45 lines
1.5 KiB
TypeScript
45 lines
1.5 KiB
TypeScript
import {
|
|
BANGDREAM_TIME_FORMAT_SPEC,
|
|
formatBangDreamMinute,
|
|
formatBangDreamMonthDay,
|
|
formatBangDreamPeriod,
|
|
formatBangDreamSeconds,
|
|
formatBangDreamTime,
|
|
} from '@/qqbot/plugins/bangDream/tsugu/render-blocks/list-time-spec';
|
|
|
|
describe('BangDream time format spec', () => {
|
|
it('keeps common labels and offsets stable', () => {
|
|
expect(BANGDREAM_TIME_FORMAT_SPEC.estimatedOpenSuffix).toBe(
|
|
' (预计开放时间)',
|
|
);
|
|
expect(BANGDREAM_TIME_FORMAT_SPEC.japanUtcOffsetHours).toBe(9);
|
|
expect(BANGDREAM_TIME_FORMAT_SPEC.unknown).toBe('?');
|
|
});
|
|
|
|
it('formats minutes and full timestamps like the original renderer', () => {
|
|
expect(formatBangDreamMinute(0)).toBe('00');
|
|
expect(formatBangDreamMinute(9)).toBe('09');
|
|
expect(formatBangDreamMinute(10)).toBe('10');
|
|
expect(formatBangDreamTime(null)).toBe('?');
|
|
expect(
|
|
formatBangDreamTime(new Date(2020, 4, 19, 13, 0, 30).getTime()),
|
|
).toBe('2020年5月19日 13:00');
|
|
});
|
|
|
|
it('formats Japan month day and durations', () => {
|
|
expect(formatBangDreamMonthDay(null)).toBe('?');
|
|
expect(formatBangDreamMonthDay(Date.UTC(2020, 4, 18, 15, 0, 0))).toBe(
|
|
'5月19日 ',
|
|
);
|
|
expect(
|
|
formatBangDreamPeriod(
|
|
BANGDREAM_TIME_FORMAT_SPEC.day +
|
|
BANGDREAM_TIME_FORMAT_SPEC.hour +
|
|
BANGDREAM_TIME_FORMAT_SPEC.minute +
|
|
2 * BANGDREAM_TIME_FORMAT_SPEC.millisecond,
|
|
),
|
|
).toBe('1日1小时1分钟2秒');
|
|
expect(formatBangDreamSeconds(3661)).toBe('1小时1分1秒');
|
|
});
|
|
});
|