import assert from "node:assert/strict"; import { describe, it } from "node:test"; import { DETAILS_DEFAULT_TITLE, isDetailsOpen, parseDetailsOpen, parseVideoInput, parseVideoLine, splitContentSegments, } from "./directiveBlocks.ts"; describe("parseDetailsOpen / isDetailsOpen", () => { it("开标记整行匹配,标题缺省「点击展开」", () => { assert.equal(isDetailsOpen("[details]"), true); assert.equal(parseDetailsOpen("[details]"), DETAILS_DEFAULT_TITLE); assert.equal(parseDetailsOpen("[details 点击展开看结论]"), "点击展开看结论"); assert.equal(isDetailsOpen("[details 标题] 后缀"), false); assert.equal(isDetailsOpen("[details]"), true); }); }); describe("parseVideoInput", () => { it("BV 号与 B站链接", () => { assert.deepEqual(parseVideoInput("BV1GJ411x7h7"), { provider: "bilibili", id: "BV1GJ411x7h7", }); assert.deepEqual(parseVideoInput("https://www.bilibili.com/video/BV1GJ411x7h7/?p=1"), { provider: "bilibili", id: "BV1GJ411x7h7", }); }); it("YouTube ID 与链接", () => { assert.deepEqual(parseVideoInput("dQw4w9WgXcQ"), { provider: "youtube", id: "dQw4w9WgXcQ", }); assert.deepEqual(parseVideoInput("https://youtu.be/dQw4w9WgXcQ"), { provider: "youtube", id: "dQw4w9WgXcQ", }); assert.deepEqual(parseVideoInput("https://www.youtube.com/watch?v=dQw4w9WgXcQ"), { provider: "youtube", id: "dQw4w9WgXcQ", }); }); it("非法输入返回 null", () => { assert.equal(parseVideoInput(""), null); assert.equal(parseVideoInput("hello world"), null); assert.equal(parseVideoInput("https://evil.com/