50 lines
1.7 KiB
TypeScript
50 lines
1.7 KiB
TypeScript
import { assert, expect } from "chai";
|
|
import * as docx from "../../../docx";
|
|
import { Formatter } from "../../../export/formatter";
|
|
|
|
describe("Document", () => {
|
|
let document: docx.Document;
|
|
|
|
beforeEach(() => {
|
|
document = new docx.Document();
|
|
});
|
|
|
|
describe("#constructor()", () => {
|
|
|
|
it("should create valid JSON", () => {
|
|
const stringifiedJson = JSON.stringify(document);
|
|
let newJson;
|
|
|
|
try {
|
|
newJson = JSON.parse(stringifiedJson);
|
|
} catch (e) {
|
|
assert.isTrue(false);
|
|
}
|
|
assert.isTrue(true);
|
|
});
|
|
});
|
|
|
|
describe("#createParagraph", () => {
|
|
it("should create a new paragraph and append it to body", () => {
|
|
const para = document.createParagraph();
|
|
expect(para).to.be.an.instanceof(docx.Paragraph);
|
|
const body = new Formatter().format(document)["w:document"][1]["w:body"];
|
|
expect(body).to.be.an("array").which.has.length.at.least(1);
|
|
expect(body[0]).to.have.property("w:p");
|
|
});
|
|
|
|
it("should use the text given to create a run in the paragraph", () => {
|
|
const para = document.createParagraph("sample paragraph text");
|
|
expect(para).to.be.an.instanceof(docx.Paragraph);
|
|
const body = new Formatter().format(document)["w:document"][1]["w:body"];
|
|
expect(body).to.be.an("array").which.has.length.at.least(1);
|
|
expect(body[0]).to.have.property("w:p").which.includes({
|
|
"w:r": [
|
|
{"w:rPr": []},
|
|
{"w:t": ["sample paragraph text"]},
|
|
],
|
|
});
|
|
});
|
|
});
|
|
});
|