Add tests and clean up code
This commit is contained in:
@ -1,11 +1,87 @@
|
||||
import { assert, expect } from "chai";
|
||||
import { expect } from "chai";
|
||||
|
||||
import { Formatter } from "export/formatter";
|
||||
|
||||
import { ThematicBreak } from "./border";
|
||||
import { Border, ThematicBreak } from "./border";
|
||||
|
||||
describe("Border", () => {
|
||||
// TODO: Need tests here
|
||||
describe("#constructor", () => {
|
||||
it("should create", () => {
|
||||
const border = new Border({
|
||||
top: {
|
||||
color: "red",
|
||||
space: 1,
|
||||
value: "test",
|
||||
size: 2,
|
||||
},
|
||||
bottom: {
|
||||
color: "red",
|
||||
space: 3,
|
||||
value: "test",
|
||||
size: 4,
|
||||
},
|
||||
left: {
|
||||
color: "red",
|
||||
space: 5,
|
||||
value: "test",
|
||||
size: 6,
|
||||
},
|
||||
right: {
|
||||
color: "red",
|
||||
space: 7,
|
||||
value: "test",
|
||||
size: 8,
|
||||
},
|
||||
});
|
||||
|
||||
const tree = new Formatter().format(border);
|
||||
|
||||
expect(tree).to.deep.equal({
|
||||
"w:pBdr": [
|
||||
{
|
||||
"w:top": {
|
||||
_attr: {
|
||||
"w:color": "red",
|
||||
"w:space": 1,
|
||||
"w:sz": 2,
|
||||
"w:val": "test",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"w:bottom": {
|
||||
_attr: {
|
||||
"w:color": "red",
|
||||
"w:space": 3,
|
||||
"w:sz": 4,
|
||||
"w:val": "test",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"w:left": {
|
||||
_attr: {
|
||||
"w:color": "red",
|
||||
"w:space": 5,
|
||||
"w:sz": 6,
|
||||
"w:val": "test",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"w:right": {
|
||||
_attr: {
|
||||
"w:color": "red",
|
||||
"w:space": 7,
|
||||
"w:sz": 8,
|
||||
"w:val": "test",
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("ThematicBreak", () => {
|
||||
@ -16,17 +92,6 @@ describe("ThematicBreak", () => {
|
||||
});
|
||||
|
||||
describe("#constructor()", () => {
|
||||
it("should create valid JSON", () => {
|
||||
const stringifiedJson = JSON.stringify(thematicBreak);
|
||||
|
||||
try {
|
||||
JSON.parse(stringifiedJson);
|
||||
} catch (e) {
|
||||
assert.isTrue(false);
|
||||
}
|
||||
assert.isTrue(true);
|
||||
});
|
||||
|
||||
it("should create a Thematic Break with correct border properties", () => {
|
||||
const tree = new Formatter().format(thematicBreak);
|
||||
expect(tree).to.deep.equal({
|
||||
|
@ -1,39 +0,0 @@
|
||||
// tslint:disable:object-literal-key-quotes
|
||||
import { assert } from "chai";
|
||||
|
||||
import { ImageParagraph } from "./image";
|
||||
|
||||
describe("Image", () => {
|
||||
let image: ImageParagraph;
|
||||
|
||||
beforeEach(() => {
|
||||
image = new ImageParagraph({
|
||||
stream: new Buffer(""),
|
||||
path: "",
|
||||
fileName: "test.png",
|
||||
dimensions: {
|
||||
pixels: {
|
||||
x: 10,
|
||||
y: 10,
|
||||
},
|
||||
emus: {
|
||||
x: 10,
|
||||
y: 10,
|
||||
},
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
describe("#constructor()", () => {
|
||||
it("should create valid JSON", () => {
|
||||
const stringifiedJson = JSON.stringify(image);
|
||||
|
||||
try {
|
||||
JSON.parse(stringifiedJson);
|
||||
} catch (e) {
|
||||
assert.isTrue(false);
|
||||
}
|
||||
assert.isTrue(true);
|
||||
});
|
||||
});
|
||||
});
|
@ -1,18 +0,0 @@
|
||||
import { IDrawingOptions } from "../drawing";
|
||||
import { IMediaData } from "../media";
|
||||
import { Paragraph } from "./paragraph";
|
||||
import { PictureRun } from "./run";
|
||||
|
||||
export class ImageParagraph extends Paragraph {
|
||||
private readonly pictureRun: PictureRun;
|
||||
|
||||
constructor(imageData: IMediaData, drawingOptions?: IDrawingOptions) {
|
||||
super({});
|
||||
this.pictureRun = new PictureRun(imageData, drawingOptions);
|
||||
this.root.push(this.pictureRun);
|
||||
}
|
||||
|
||||
public get Run(): PictureRun {
|
||||
return this.pictureRun;
|
||||
}
|
||||
}
|
@ -3,4 +3,3 @@ export * from "./paragraph";
|
||||
export * from "./properties";
|
||||
export * from "./run";
|
||||
export * from "./links";
|
||||
export * from "./image";
|
||||
|
@ -1,6 +1,5 @@
|
||||
// http://officeopenxml.com/WPparagraph.php
|
||||
import { FootnoteReferenceRun } from "file/footnotes/footnote/run/reference-run";
|
||||
import { Image } from "file/media";
|
||||
import { Num } from "file/numbering/num";
|
||||
import { XmlComponent } from "file/xml-components";
|
||||
|
||||
@ -190,13 +189,6 @@ export class Paragraph extends XmlComponent {
|
||||
return this;
|
||||
}
|
||||
|
||||
public addImage(image: Image): PictureRun {
|
||||
const run = image.Run;
|
||||
this.addRun(run);
|
||||
|
||||
return run;
|
||||
}
|
||||
|
||||
public pageBreak(): Paragraph {
|
||||
this.root.push(new PageBreak());
|
||||
return this;
|
||||
|
Reference in New Issue
Block a user