#613 #439 Even and odd headers

This commit is contained in:
Dolan
2021-03-16 00:57:27 +00:00
parent 8b2aa58198
commit 131183ae19
7 changed files with 143 additions and 11 deletions

View File

@ -7,7 +7,9 @@ import { Settings } from "./settings";
describe("Settings", () => {
describe("#constructor", () => {
it("should create a empty Settings with correct rootKey", () => {
const settings = new Settings({});
const settings = new Settings({
evenAndOddHeaders: false,
});
const tree = new Formatter().format(settings);
let keys = Object.keys(tree);
expect(keys).is.an.instanceof(Array);
@ -45,12 +47,16 @@ describe("Settings", () => {
expect(updateFieldsAttr["w:val"]).to.be.equal(true);
};
it("should add a UpdateFields with value true", () => {
const settings = new Settings({});
const settings = new Settings({
evenAndOddHeaders: false,
});
settings.addUpdateFields();
assertSettingsWithUpdateFields(settings);
});
it("should add a UpdateFields with value true only once", () => {
const settings = new Settings({});
const settings = new Settings({
evenAndOddHeaders: false,
});
settings.addUpdateFields();
assertSettingsWithUpdateFields(settings);
settings.addUpdateFields();
@ -59,7 +65,9 @@ describe("Settings", () => {
});
describe("#addCompatibility", () => {
it("should add an empty Compatibility by default", () => {
const settings = new Settings({});
const settings = new Settings({
evenAndOddHeaders: false,
});
const tree = new Formatter().format(settings);
let keys: string[] = Object.keys(tree);
@ -88,7 +96,9 @@ describe("Settings", () => {
});
describe("#addTrackRevisions", () => {
it("should add an empty Track Revisions", () => {
const settings = new Settings({});
const settings = new Settings({
evenAndOddHeaders: false,
});
settings.addTrackRevisions();
const tree = new Formatter().format(settings);
@ -109,7 +119,9 @@ describe("Settings", () => {
});
describe("#addTrackRevisionsTwice", () => {
it("should add an empty Track Revisions if called twice", () => {
const settings = new Settings({});
const settings = new Settings({
evenAndOddHeaders: false,
});
settings.addTrackRevisions();
settings.addTrackRevisions();
@ -129,4 +141,33 @@ describe("Settings", () => {
expect(keys[0]).to.be.equal("w:trackRevisions");
});
});
describe("#addTrackRevisionsTwice", () => {
it("should add an empty Track Revisions if called twice", () => {
const settings = new Settings({
evenAndOddHeaders: true,
});
settings.addTrackRevisions();
settings.addTrackRevisions();
const tree = new Formatter().format(settings);
let keys: string[] = Object.keys(tree);
expect(keys[0]).to.be.equal("w:settings");
const rootArray = tree["w:settings"];
expect(rootArray).is.an.instanceof(Array);
expect(rootArray).has.length(5);
keys = Object.keys(rootArray[0]);
expect(keys).is.an.instanceof(Array);
expect(keys).has.length(1);
expect(keys[0]).to.be.equal("_attr");
keys = Object.keys(rootArray[4]);
expect(keys).is.an.instanceof(Array);
expect(keys).has.length(1);
expect(keys[0]).to.be.equal("w:trackRevisions");
keys = Object.keys(rootArray[2]);
expect(keys).is.an.instanceof(Array);
expect(keys).has.length(1);
expect(keys[0]).to.be.equal("w:evenAndOddHeaders");
});
});
});