// test/dateParser.test.js const { test } = require("node:test"); const assert = require("node:assert"); const { parseDateInput } = require("../src/lib/dateParser"); test("ISO形式の日付をそのまま解釈する", () => { assert.strictEqual(parseDateInput("2026-03-01"), "2026-03-01"); }); test("スラッシュ区切りの日付を解釈する", () => { assert.strictEqual(parseDateInput("2026/3/1"), "2026-03-01"); }); test("和暦(令和)を西暦に変換する", () => { assert.strictEqual(parseDateInput("令和6年3月1日"), "2024-03-01"); }); test("和暦の略記(R)を西暦に変換する", () => { assert.strictEqual(parseDateInput("R6.3.1"), "2024-03-01"); }); test("月日のみの入力は今年として解釈する", () => { const currentYear = new Date().getFullYear(); assert.strictEqual(parseDateInput("3/1"), `${currentYear}-03-01`); }); test("空文字はエラーになる", () => { assert.throws(() => parseDateInput(""), /日付が空です/); }); test("存在しない日付はエラーになる", () => { assert.throws(() => parseDateInput("2026-02-30"), /存在しない日付です/); }); test("解釈不能な文字列はエラーになる", () => { assert.throws(() => parseDateInput("あいうえお")); });