add ID property to Num and test Numbering methods
This commit is contained in:
@ -24,6 +24,7 @@ class NumAttributes extends XmlAttributeComponent {
|
||||
}
|
||||
|
||||
export class Num extends XmlComponent {
|
||||
public id: number;
|
||||
|
||||
constructor(numId: number, abstractNumId: number) {
|
||||
super("w:num");
|
||||
@ -31,5 +32,11 @@ export class Num extends XmlComponent {
|
||||
numId: numId,
|
||||
}));
|
||||
this.root.push(new AbstractNumId(abstractNumId));
|
||||
this.id = numId;
|
||||
}
|
||||
|
||||
public clearVariables(): void {
|
||||
super.clearVariables();
|
||||
delete this.id;
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { expect } from "chai";
|
||||
import { Numbering } from "../numbering";
|
||||
import { AbstractNumbering } from "../numbering/abstract-numbering";
|
||||
import { Num } from "../numbering/num";
|
||||
import { Formatter } from '../export/formatter';
|
||||
|
||||
function jsonify(obj: Object) {
|
||||
@ -45,6 +46,36 @@ describe("Numbering", () => {
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
describe("#addAbstractNumbering", () => {
|
||||
it("returns a new AbstractNumbering instance", () => {
|
||||
const a2 = numbering.addAbstractNumbering();
|
||||
expect(a2).to.be.instanceof(AbstractNumbering);
|
||||
});
|
||||
|
||||
it("assigns a unique ID to each abstract numbering it creates", () => {
|
||||
const a2 = numbering.addAbstractNumbering();
|
||||
const a3 = numbering.addAbstractNumbering();
|
||||
expect(a2.id).not.to.equal(a3.id);
|
||||
});
|
||||
});
|
||||
|
||||
describe("#addConcreteNumbering", () => {
|
||||
it("returns a new Num instance with its abstract ID set to the AbstractNumbering's ID", () => {
|
||||
const a2 = numbering.addAbstractNumbering();
|
||||
const n = numbering.addConcreteNumbering(a2);
|
||||
expect(n).to.be.instanceof(Num);
|
||||
const tree = new Formatter().format(numbering);
|
||||
expect(n.id).to.equal(a2.id);
|
||||
});
|
||||
|
||||
it("assigns a unique ID to each concrete numbering it creates", () => {
|
||||
const a2 = numbering.addAbstractNumbering();
|
||||
const n = numbering.addConcreteNumbering(a2);
|
||||
const n2 = numbering.addConcreteNumbering(a2);
|
||||
expect(n.id).not.to.equal(n2.id);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("AbstractNumbering", () => {
|
||||
|
Reference in New Issue
Block a user