Add tests
This commit is contained in:
96
src/patcher/run-renderer.spec.ts
Normal file
96
src/patcher/run-renderer.spec.ts
Normal file
@ -0,0 +1,96 @@
|
||||
import { expect } from "chai";
|
||||
import { renderParagraphNode } from "./run-renderer";
|
||||
|
||||
describe("run-renderer", () => {
|
||||
describe("renderParagraphNode", () => {
|
||||
it("should return a rendered paragraph node if theres no elements", () => {
|
||||
const output = renderParagraphNode({ element: { name: "w:p" }, index: 0, parent: undefined });
|
||||
expect(output).to.deep.equal({
|
||||
index: -1,
|
||||
path: [],
|
||||
runs: [],
|
||||
text: "",
|
||||
});
|
||||
});
|
||||
|
||||
it("should return a rendered paragraph node if there are elements", () => {
|
||||
const output = renderParagraphNode({
|
||||
element: {
|
||||
name: "w:p",
|
||||
elements: [
|
||||
{
|
||||
name: "w:r",
|
||||
elements: [
|
||||
{
|
||||
name: "w:t",
|
||||
elements: [
|
||||
{
|
||||
type: "text",
|
||||
text: "hello",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
index: 0,
|
||||
parent: undefined,
|
||||
});
|
||||
expect(output).to.deep.equal({
|
||||
index: 0,
|
||||
path: [0],
|
||||
runs: [
|
||||
{
|
||||
end: 4,
|
||||
index: 0,
|
||||
parts: [
|
||||
{
|
||||
end: 4,
|
||||
index: 0,
|
||||
start: 0,
|
||||
text: "hello",
|
||||
},
|
||||
],
|
||||
start: 0,
|
||||
text: "hello",
|
||||
},
|
||||
],
|
||||
text: "hello",
|
||||
});
|
||||
});
|
||||
|
||||
it("should throw an error if the element is not a paragraph", () => {
|
||||
expect(() => renderParagraphNode({ element: { name: "w:r" }, index: 0, parent: undefined })).to.throw();
|
||||
});
|
||||
|
||||
it("should return blank defaults if run is empty", () => {
|
||||
const output = renderParagraphNode({
|
||||
element: {
|
||||
name: "w:p",
|
||||
elements: [
|
||||
{
|
||||
name: "w:r",
|
||||
},
|
||||
],
|
||||
},
|
||||
index: 0,
|
||||
parent: undefined,
|
||||
});
|
||||
expect(output).to.deep.equal({
|
||||
index: 0,
|
||||
path: [0],
|
||||
runs: [
|
||||
{
|
||||
end: 0,
|
||||
index: -1,
|
||||
parts: [],
|
||||
start: 0,
|
||||
text: "",
|
||||
},
|
||||
],
|
||||
text: "",
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user