import assert from "node:assert/strict";
import { test } from "node:test";
import { splitFrontmatter } from "../src/skill-source.ts";

test("프론트매터와 본문을 나눈다", () => {
  const { fm, body } = splitFrontmatter(
    ['---', 'name: designpaca', 'description: "따옴표 있는 값"', '---', '', '# 제목', '내용'].join("\n"),
  );
  assert.equal(fm["name"], "designpaca");
  assert.equal(fm["description"], "따옴표 있는 값");
  assert.ok(body.trim().startsWith("# 제목"));
});

test("프론트매터가 없으면 전체가 본문이다", () => {
  const { fm, body } = splitFrontmatter("# 제목만 있다");
  assert.deepEqual(fm, {});
  assert.equal(body, "# 제목만 있다");
});

test("CRLF 문서도 처리한다", () => {
  const { fm } = splitFrontmatter("---\r\nname: designpaca\r\n---\r\n본문");
  assert.equal(fm["name"], "designpaca");
});
