Files
docx-js/src/file/table/table-row/table-row.spec.ts

95 lines
2.9 KiB
TypeScript
Raw Normal View History

2019-03-18 23:50:21 +00:00
import { expect } from "chai";
import { Formatter } from "export/formatter";
2019-06-25 14:48:45 +02:00
import { HeightRule } from "file/table/table-row/table-row-height";
import { EMPTY_OBJECT } from "file/xml-components";
2019-03-18 23:50:21 +00:00
import { TableCell } from "../table-cell";
import { TableRow } from "./table-row";
describe("TableRow", () => {
describe("#constructor", () => {
it("should create with no cells", () => {
const tableRow = new TableRow([]);
const tree = new Formatter().format(tableRow);
expect(tree).to.deep.equal({
"w:tr": EMPTY_OBJECT,
2019-03-18 23:50:21 +00:00
});
});
it("should create with one cell", () => {
const tableRow = new TableRow([new TableCell()]);
const tree = new Formatter().format(tableRow);
expect(tree).to.deep.equal({
"w:tr": [
{
"w:tc": [
{
"w:p": EMPTY_OBJECT,
2019-03-18 23:50:21 +00:00
},
],
},
],
});
});
});
describe("#getCell", () => {
it("should get the cell", () => {
const cell = new TableCell();
const tableRow = new TableRow([cell]);
expect(tableRow.getCell(0)).to.equal(cell);
});
it("should throw an error if index is out of bounds", () => {
const cell = new TableCell();
const tableRow = new TableRow([cell]);
expect(() => tableRow.getCell(1)).to.throw();
});
});
describe("#addGridSpan", () => {
it("should merge the cell", () => {
const tableRow = new TableRow([new TableCell(), new TableCell()]);
tableRow.addGridSpan(0, 2);
expect(() => tableRow.getCell(1)).to.throw();
});
});
describe("#mergeCells", () => {
it("should merge the cell", () => {
const tableRow = new TableRow([new TableCell(), new TableCell()]);
tableRow.mergeCells(0, 1);
expect(() => tableRow.getCell(1)).to.throw();
});
});
2019-06-25 14:48:45 +02:00
describe("#setHeight", () => {
it("should set row height", () => {
const tableRow = new TableRow([]);
tableRow.setHeight(100, HeightRule.EXACT);
const tree = new Formatter().format(tableRow);
expect(tree).to.deep.equal({
"w:tr": [
{
"w:trPr": [
{
"w:trHeight": {
_attr: {
"w:hRule": "exact",
"w:val": 100,
},
},
},
],
},
],
});
});
});
2019-03-18 23:50:21 +00:00
});