it("hr interrupting paragraph (setext heading case)", () => { // Note: "Para\n---" is a setext heading in CommonMark! // Using *** to test actual HR behavior const input = `Para 1
***
Para 2`; const result = markdownToIR(input); // HR interrupts para, renders visibly
expect(result.text).toContain("───");
});
});
describe("expected behavior (tests assert CORRECT behavior)", () => {
it("hr between paragraphs should render with separator", () => { const input = `Para 1
---
Para 2`; const result = markdownToIR(input);
expect(result.text).toBe("Para 1\n\n───\n\nPara 2");
});
it("hr between paragraphs using *** should render with separator", () => { const input = `Para 1
***
Para 2`; const result = markdownToIR(input);
expect(result.text).toBe("Para 1\n\n───\n\nPara 2");
});
it("hr between paragraphs using ___ should render with separator", () => { const input = `Para 1
___
Para 2`; const result = markdownToIR(input);
expect(result.text).toBe("Para 1\n\n───\n\nPara 2");
});
it("consecutive hrs should produce multiple separators", () => { const input = `---
---
---`; const result = markdownToIR(input); // Each HR renders as a separator
expect(result.text).toBe("───\n\n───\n\n───");
});
it("hr at document end renders separator", () => { const input = `Para
---`; const result = markdownToIR(input);
expect(result.text).toBe("Para\n\n───");
});
for (const input of inputs) { const result = markdownToIR(input);
expect(result.text, `Input: ${JSON.stringify(input)}`).not.toMatch(/\n{3,}/);
}
});
it("multiple consecutive hrs between paragraphs should each render as separator", () => { const input = `Para 1
---
---
---
Para 2`; const result = markdownToIR(input);
expect(result.text).toBe("Para 1\n\n───\n\n───\n\n───\n\nPara 2");
});
});
describe("edge cases", () => {
it("hr between list items renders as separator without extra spacing", () => { const input = `- Item 1
- ---
- Item 2`; const result = markdownToIR(input);
expect(result.text).toBe("• Item 1\n\n───\n\n• Item 2");
expect(result.text).not.toMatch(/\n{3,}/);
});
it("hr followed immediately by heading", () => { const input = `---
# Heading
Para`; const result = markdownToIR(input); // HR renders as separator, heading renders, para follows
expect(result.text).not.toMatch(/\n{3,}/);
expect(result.text).toContain("───");
});
it("heading followed by hr", () => { const input = `# Heading
---
Para`; const result = markdownToIR(input); // Heading ends, HR renders, para follows
expect(result.text).not.toMatch(/\n{3,}/);
expect(result.text).toContain("───");
});
});
});
Messung V0.5 in Prozent
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.13Angebot
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-09-28)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.