Files
docx-js/src/file/media/media.spec.ts

113 lines
3.3 KiB
TypeScript
Raw Normal View History

2018-11-01 02:22:32 +00:00
import { expect } from "chai";
import { Formatter } from "export/formatter";
import { File } from "../file";
import { Media } from "./media";
describe("Media", () => {
describe("#addImage", () => {
it("Add image", () => {
// tslint:disable-next-line:no-any
const file = new File();
const image = Media.addImage(file, "");
let tree = new Formatter().format(image.Paragraph);
expect(tree["w:p"]).to.be.an.instanceof(Array);
tree = new Formatter().format(image.Run);
expect(tree["w:r"]).to.be.an.instanceof(Array);
});
});
describe("#addMedia", () => {
it("should add media", () => {
// tslint:disable-next-line:no-any
(Media as any).generateId = () => "test";
const image = new Media().addMedia("", 1);
expect(image.fileName).to.equal("test.png");
expect(image.referenceId).to.equal(1);
expect(image.dimensions).to.deep.equal({
pixels: {
x: 100,
y: 100,
},
emus: {
x: 952500,
y: 952500,
},
});
});
it("should return UInt8Array if atob is present", () => {
// tslint:disable-next-line
((process as any).atob as any) = () => "atob result";
// tslint:disable-next-line:no-any
(Media as any).generateId = () => "test";
const image = new Media().addMedia("", 1);
expect(image.stream).to.be.an.instanceof(Uint8Array);
});
});
describe("#getMedia", () => {
it("should get media", () => {
// tslint:disable-next-line:no-any
(Media as any).generateId = () => "test";
const media = new Media();
media.addMedia("", 1);
const image = media.getMedia("test.png");
expect(image.fileName).to.equal("test.png");
expect(image.referenceId).to.equal(1);
expect(image.dimensions).to.deep.equal({
pixels: {
x: 100,
y: 100,
},
emus: {
x: 952500,
y: 952500,
},
});
});
it("Get media", () => {
const media = new Media();
expect(() => media.getMedia("test.png")).to.throw();
});
});
describe("#Array", () => {
it("Get images as array", () => {
// tslint:disable-next-line:no-any
(Media as any).generateId = () => "test";
const media = new Media();
media.addMedia("", 1);
const array = media.Array;
expect(array).to.be.an.instanceof(Array);
expect(array.length).to.equal(1);
const image = array[0];
expect(image.fileName).to.equal("test.png");
expect(image.referenceId).to.equal(1);
expect(image.dimensions).to.deep.equal({
pixels: {
x: 100,
y: 100,
},
emus: {
x: 952500,
y: 952500,
},
});
});
});
});