Add tests

This commit is contained in:
Dolan Miu
2023-03-14 03:13:23 +00:00
parent 8ce057e25c
commit 352511bb55
2 changed files with 97 additions and 0 deletions

46
src/patcher/util.spec.ts Normal file
View File

@ -0,0 +1,46 @@
import { expect } from "chai";
import { createTextElementContents, getFirstLevelElements, patchSpaceAttribute, toJson } from "./util";
describe("util", () => {
describe("toJson", () => {
it("should return an Element", () => {
const output = toJson("<xml></xml>");
expect(output).to.be.an("object");
});
});
describe("createTextElementContents", () => {
it("should return an array of elements", () => {
const output = createTextElementContents("hello");
expect(output).to.deep.equal([{ type: "text", text: "hello" }]);
});
});
describe("patchSpaceAttribute", () => {
it("should return an element with the xml:space attribute", () => {
const output = patchSpaceAttribute({ type: "element", name: "xml" });
expect(output).to.deep.equal({
type: "element",
name: "xml",
attributes: {
"xml:space": "preserve",
},
});
});
});
describe("getFirstLevelElements", () => {
it("should return an empty array if no elements are found", () => {
const output = toJson("<Relationships></Relationships>");
const elements = getFirstLevelElements(output, "Relationships");
expect(elements).to.deep.equal([]);
});
it("should return an array if elements are found", () => {
const output = toJson("<Relationships><Relationship></Relationship></Relationships>");
const elements = getFirstLevelElements(output, "Relationships");
expect(elements).to.deep.equal([{ type: "element", name: "Relationship" }]);
});
});
});