From bd9d6b74f5029bbe6beaea88c8198ae9da258390 Mon Sep 17 00:00:00 2001 From: felipe Date: Sat, 11 Mar 2017 10:30:08 +0100 Subject: [PATCH] added Cell#createParagraph method --- ts/docx/table/index.ts | 5 +++++ ts/tests/docx/table/testTable.ts | 22 ++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/ts/docx/table/index.ts b/ts/docx/table/index.ts index ec9d2dcfe0..c407989b5e 100644 --- a/ts/docx/table/index.ts +++ b/ts/docx/table/index.ts @@ -108,6 +108,11 @@ class TableCell extends XmlComponent { } return retval } + + public createParagraph(text?: string): Paragraph { + const para = new Paragraph(text); + this.push(para); + return para; } } diff --git a/ts/tests/docx/table/testTable.ts b/ts/tests/docx/table/testTable.ts index 1c1eb0aba6..1bb9aaf41e 100644 --- a/ts/tests/docx/table/testTable.ts +++ b/ts/tests/docx/table/testTable.ts @@ -159,5 +159,27 @@ describe("Table", () => { }); }); }); + + describe("#createParagraph", () => { + it("inserts a new paragraph in the cell", () => { + const table = new Table(1, 1); + const para = table.getCell(0, 0).createParagraph("Test paragraph"); + expect(para).to.be.an.instanceof(Paragraph); + const tree = new Formatter().format(table); + expect(tree).to.have.property("w:tbl").which.is.an("array"); + const row = tree["w:tbl"].find((x) => x["w:tr"]); + expect(row).not.to.be.undefined; + expect(row["w:tr"]).to.be.an("array").which.has.length.at.least(1); + expect(row["w:tr"].find((x) => x["w:tc"])).to.deep.equal({ + "w:tc": [ + {"w:tcPr": []}, + {"w:p": [ + {"w:pPr": []}, + {"w:r": [{"w:rPr": []}, {"w:t": ["Test paragraph"]}]}, + ]}, + ], + }); + }); + }); }); });