feature: add support to add mutiple sections to the document inc. headers and footers
- write missing tests
This commit is contained in:
@ -1,39 +1,42 @@
|
||||
// import { assert } from "chai";
|
||||
import { expect } from "chai";
|
||||
|
||||
// import { Utility } from "../../../tests/utility";
|
||||
// import { Body } from "./";
|
||||
import { Formatter } from "../../../export/formatter";
|
||||
import { Body } from "./body";
|
||||
|
||||
describe("Body", () => {
|
||||
// let body: Body;
|
||||
let body: Body;
|
||||
|
||||
beforeEach(() => {
|
||||
// body = new Body();
|
||||
body = new Body();
|
||||
});
|
||||
|
||||
// describe("#constructor()", () => {
|
||||
// it("should create the Section Properties", () => {
|
||||
// const newJson = Utility.jsonify(body);
|
||||
// assert.equal(newJson.root[0].rootKey, "w:sectPr");
|
||||
// });
|
||||
describe("#constructor()", () => {
|
||||
it("should create default section", () => {
|
||||
const formatted = new Formatter().format(body)["w:body"][0];
|
||||
expect(formatted)
|
||||
.to.have.property("w:sectPr")
|
||||
.and.to.be.an.instanceof(Array);
|
||||
expect(formatted["w:sectPr"]).to.have.length(7);
|
||||
});
|
||||
});
|
||||
|
||||
// it("should create the Page Size", () => {
|
||||
// const newJson = Utility.jsonify(body);
|
||||
// assert.equal(newJson.root[1].rootKey, "w:pgSz");
|
||||
// });
|
||||
describe("addSection", () => {
|
||||
it("should add section with options", () => {
|
||||
body.addSection({
|
||||
width: 10000,
|
||||
height: 10000,
|
||||
});
|
||||
|
||||
// it("should create the Page Margin", () => {
|
||||
// const newJson = Utility.jsonify(body);
|
||||
// assert.equal(newJson.root[2].rootKey, "w:pgMar");
|
||||
// });
|
||||
const formatted = new Formatter().format(body)["w:body"];
|
||||
expect(formatted).to.be.an.instanceof(Array);
|
||||
const defaultSectionPr = formatted[0]["w:p"][1]["w:pPr"][0]["w:sectPr"];
|
||||
|
||||
// it("should create the Columns", () => {
|
||||
// const newJson = Utility.jsonify(body);
|
||||
// assert.equal(newJson.root[3].rootKey, "w:cols");
|
||||
// });
|
||||
// check that this is the default section and added first in paragraph
|
||||
expect(defaultSectionPr[0]).to.deep.equal({ "w:pgSz": [{ _attr: { "w:h": 16838, "w:w": 11906, "w:orient": "portrait" } }] });
|
||||
|
||||
// it("should create the Document Grid", () => {
|
||||
// const newJson = Utility.jsonify(body);
|
||||
// assert.equal(newJson.root[4].rootKey, "w:docGrid");
|
||||
// });
|
||||
// });
|
||||
// check for new section (since it's the last one, it's direct child of body)
|
||||
const newSection = formatted[1]["w:sectPr"];
|
||||
expect(newSection[0]).to.deep.equal({ "w:pgSz": [{ _attr: { "w:h": 10000, "w:w": 10000, "w:orient": "portrait" } }] });
|
||||
});
|
||||
});
|
||||
});
|
||||
|
Reference in New Issue
Block a user