Spracherkennung für: .ts vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
import { describe, expect, it } from "vitest";
import { replaceManagedMarkdownBlock, withTrailingNewline } from "./memory-host-markdown.js";
describe("withTrailingNewline", () => {
it("preserves trailing newlines", () => {
expect(withTrailingNewline("hello\n")).toBe("hello\n");
});
it("adds a trailing newline when missing", () => {
expect(withTrailingNewline("hello")).toBe("hello\n");
});
});
describe("replaceManagedMarkdownBlock", () => {
it("appends a managed block when missing", () => {
expect(
replaceManagedMarkdownBlock({
original: "# Title\n",
heading: "## Generated",
startMarker: "<!-- start -->",
endMarker: "<!-- end -->",
body: "- first",
}),
).toBe("# Title\n\n## Generated\n<!-- start -->\n- first\n<!-- end -->\n");
});
it("replaces an existing managed block in place", () => {
expect(
replaceManagedMarkdownBlock({
original:
"# Title\n\n## Generated\n<!-- start -->\n- old\n<!-- end -->\n\n## Notes\nkept\n",
heading: "## Generated",
startMarker: "<!-- start -->",
endMarker: "<!-- end -->",
body: "- new",
}),
).toBe("# Title\n\n## Generated\n<!-- start -->\n- new\n<!-- end -->\n\n## Notes\nkept\n");
});
it("supports headingless blocks", () => {
expect(
replaceManagedMarkdownBlock({
original: "alpha\n",
startMarker: "<!-- start -->",
endMarker: "<!-- end -->",
body: "beta",
}),
).toBe("alpha\n\n<!-- start -->\nbeta\n<!-- end -->\n");
});
});
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-04-27)
¤
*© Formatika GbR, Deutschland