diff --git a/test/textsplitters/html_text_splitter.test.ts b/test/textsplitters/html_text_splitter.test.ts
index 1dab8b8..b5e74ed 100644
--- a/test/textsplitters/html_text_splitter.test.ts
+++ b/test/textsplitters/html_text_splitter.test.ts
@@ -223,6 +223,45 @@ describe("HTMLTextSplitter", () => {
});
});
+ test("prepends chunkHeader in splitDocuments output", async () => {
+ const splitter = new HTMLTextSplitter({
+ chunkSize: 18,
+ separators: ["h2"],
+ });
+
+ const documents = await splitter.splitDocuments(
+ [
+ new Document({
+ pageContent:
+ "Intro text
Section Title
Body text
",
+ metadata: { source: "sample.html" },
+ }),
+ ],
+ {
+ chunkHeader: "Header: ",
+ },
+ );
+
+ expect(documents).toHaveLength(2);
+ expect(documents[0].pageContent).toBe("Header: Intro text");
+ expect(documents[1].pageContent).toBe("Header: Section Title Body text");
+ });
+
+ test("returns no documents when source content produces no chunks", async () => {
+ const splitter = new HTMLTextSplitter({
+ chunkSize: 18,
+ });
+
+ const documents = await splitter.splitDocuments([
+ new Document({
+ pageContent: "
",
+ metadata: { source: "empty.html" },
+ }),
+ ]);
+
+ expect(documents).toEqual([]);
+ });
+
test("resets part metadata per input document", async () => {
const splitter = new HTMLTextSplitter({
chunkSize: 18,