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" );
});
});
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-09)
¤
*© Formatika GbR, Deutschland