summaryrefslogtreecommitdiff
path: root/packages/web/src/grid.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/web/src/grid.test.ts')
-rw-r--r--packages/web/src/grid.test.ts45
1 files changed, 45 insertions, 0 deletions
diff --git a/packages/web/src/grid.test.ts b/packages/web/src/grid.test.ts
new file mode 100644
index 0000000..50c0626
--- /dev/null
+++ b/packages/web/src/grid.test.ts
@@ -0,0 +1,45 @@
+import { expect, test } from "vitest";
+import defaultDoc from "./defaultDoc";
+import renderGrid from "./components/grid/renderGrid";
+import { changeSelectedSubdivisions } from "./grid";
+import { GridSelection } from "./components/grid/selection";
+
+test("foo", () => {
+ const doc = defaultDoc();
+ const grid = doc.grids[1];
+
+ const selection: GridSelection = {
+ activeCellRef: { partIndex: 0, rowIndex: 0, cellIndex: 0 },
+ range: [
+ { partIndex: 0, rowIndex: 0, cellIndex: 0 },
+ { partIndex: 0, rowIndex: 0, cellIndex: 3 },
+ ],
+ };
+
+ const newGrid = changeSelectedSubdivisions(grid, selection, 3);
+ const renderedGrid = renderGrid(newGrid);
+
+ expect(
+ renderedGrid.renderedRows.map((row) => row.renderedCells.length),
+ ).toStrictEqual([15, 16, 16, 16]);
+
+ expect(
+ newGrid.parts[0].rows[0].cells.map((cell) => cell.widthRatio.toData()),
+ ).toStrictEqual([
+ [1, 12],
+ [1, 12],
+ [1, 12],
+ [1, 16],
+ [1, 16],
+ [1, 16],
+ [1, 16],
+ [1, 16],
+ [1, 16],
+ [1, 16],
+ [1, 16],
+ [1, 16],
+ [1, 16],
+ [1, 16],
+ [1, 16],
+ ]);
+});