'use strict'; const assert = require('assert/strict'); const { parseFlexibleDeadline, shanghaiCalendar } = require('../mcp/src/core/deadline-parser'); function main() { const now = new Date('2026-07-17T04:00:00.000Z'); const parse = value => parseFlexibleDeadline(value, { now }); assert.deepEqual(shanghaiCalendar(now), { year: 2026, month: 7, day: 17 }); assert.equal(parse('2026-07-20 18:00'), '2026-07-20 18:00'); assert.equal(parse('2026-07-20T18:00:00'), '2026-07-20 18:00'); assert.equal(parse('2026/07/20 18:00'), '2026-07-20 18:00'); assert.equal(parse('2026-07-20'), '2026-07-20 18:00'); assert.equal(parse('今天18点'), '2026-07-17 18:00'); assert.equal(parse('明天'), '2026-07-18 18:00'); assert.equal(parse('明天下午6点'), '2026-07-18 18:00'); assert.equal(parse('后天上午9点半'), '2026-07-19 09:30'); assert.equal(parse('3天后'), '2026-07-20 18:00'); assert.equal(parse('三天后晚上8点'), '2026-07-20 20:00'); assert.equal(parse('一周后'), '2026-07-24 18:00'); assert.equal(parse('7月21日中午12点'), '2026-07-21 12:00'); assert.throws(() => parse('2026-02-30'), /截止日期不存在/); assert.throws(() => parse('尽快处理'), /无法识别截止时间/); process.stdout.write(`${JSON.stringify({ status: 'ok', timezone: 'Asia/Shanghai', passed: 15 }, null, 2)}\n`); } main();