2017-03-10 17:38:04 +01:00
|
|
|
import { expect } from "chai";
|
2017-09-17 00:00:41 +01:00
|
|
|
|
2018-10-26 01:04:07 +01:00
|
|
|
import { Formatter } from "export/formatter";
|
|
|
|
|
2018-10-23 23:44:50 +01:00
|
|
|
import { WidthType } from "../table-cell";
|
|
|
|
import { TableProperties } from "./table-properties";
|
2017-03-10 17:38:04 +01:00
|
|
|
|
|
|
|
describe("TableProperties", () => {
|
|
|
|
describe("#constructor", () => {
|
|
|
|
it("creates an initially empty property object", () => {
|
|
|
|
const tp = new TableProperties();
|
|
|
|
const tree = new Formatter().format(tp);
|
2018-01-23 01:33:12 +00:00
|
|
|
expect(tree).to.deep.equal({ "w:tblPr": [] });
|
2017-03-10 17:38:04 +01:00
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe("#setWidth", () => {
|
2018-11-15 03:00:26 +00:00
|
|
|
it("should add a table width property", () => {
|
|
|
|
const tp = new TableProperties().setWidth(1234, WidthType.DXA);
|
2017-03-10 17:38:04 +01:00
|
|
|
const tree = new Formatter().format(tp);
|
|
|
|
expect(tree).to.deep.equal({
|
2018-01-23 01:33:12 +00:00
|
|
|
"w:tblPr": [{ "w:tblW": [{ _attr: { "w:type": "dxa", "w:w": 1234 } }] }],
|
2017-03-10 17:38:04 +01:00
|
|
|
});
|
|
|
|
});
|
2018-11-15 03:00:26 +00:00
|
|
|
|
|
|
|
it("should add a table width property with default of AUTO", () => {
|
|
|
|
const tp = new TableProperties().setWidth(1234);
|
|
|
|
const tree = new Formatter().format(tp);
|
|
|
|
expect(tree).to.deep.equal({
|
|
|
|
"w:tblPr": [{ "w:tblW": [{ _attr: { "w:type": "auto", "w:w": 1234 } }] }],
|
|
|
|
});
|
|
|
|
});
|
2017-03-10 17:38:04 +01:00
|
|
|
});
|
2017-03-11 09:59:29 +01:00
|
|
|
|
2018-08-07 01:25:28 +01:00
|
|
|
describe("#setFixedWidthLayout", () => {
|
2017-03-11 09:59:29 +01:00
|
|
|
it("sets the table to fixed width layout", () => {
|
2018-08-07 01:25:28 +01:00
|
|
|
const tp = new TableProperties().setFixedWidthLayout();
|
2017-03-11 09:59:29 +01:00
|
|
|
const tree = new Formatter().format(tp);
|
|
|
|
expect(tree).to.deep.equal({
|
2018-01-23 01:33:12 +00:00
|
|
|
"w:tblPr": [{ "w:tblLayout": [{ _attr: { "w:type": "fixed" } }] }],
|
2017-03-11 09:59:29 +01:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
2018-08-23 00:55:33 +01:00
|
|
|
|
|
|
|
describe("#cellMargin", () => {
|
|
|
|
it("adds a table cell top margin", () => {
|
|
|
|
const tp = new TableProperties();
|
|
|
|
tp.CellMargin.addTopMargin(1234, WidthType.DXA);
|
|
|
|
const tree = new Formatter().format(tp);
|
|
|
|
expect(tree).to.deep.equal({
|
2019-04-08 13:50:40 -04:00
|
|
|
"w:tblPr": [{ "w:tblCellMar": [{ "w:top": [{ _attr: { "w:type": "dxa", "w:w": 1234 } }] }] }],
|
2018-08-23 00:55:33 +01:00
|
|
|
});
|
|
|
|
});
|
2018-11-01 02:22:32 +00:00
|
|
|
|
|
|
|
it("adds a table cell left margin", () => {
|
|
|
|
const tp = new TableProperties();
|
|
|
|
tp.CellMargin.addLeftMargin(1234, WidthType.DXA);
|
|
|
|
const tree = new Formatter().format(tp);
|
|
|
|
expect(tree).to.deep.equal({
|
2019-04-08 13:50:40 -04:00
|
|
|
"w:tblPr": [{ "w:tblCellMar": [{ "w:left": [{ _attr: { "w:type": "dxa", "w:w": 1234 } }] }] }],
|
2018-11-01 02:22:32 +00:00
|
|
|
});
|
|
|
|
});
|
2018-08-23 00:55:33 +01:00
|
|
|
});
|
2017-03-10 17:38:04 +01:00
|
|
|
});
|