From f2757e7d76f9aa2acfbc92ec79eced048a0cac67 Mon Sep 17 00:00:00 2001 From: francisco aloi Date: Mon, 30 Dec 2024 20:16:35 +0100 Subject: [PATCH] updated util, added test --- webapp/src/components/tests/util.test.ts | 21 ++++++++++++++++++++- webapp/src/components/util.ts | 11 +++-------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/webapp/src/components/tests/util.test.ts b/webapp/src/components/tests/util.test.ts index 0669d88..ac01d31 100644 --- a/webapp/src/components/tests/util.test.ts +++ b/webapp/src/components/tests/util.test.ts @@ -1,6 +1,8 @@ +import { readFile } from "node:fs/promises"; +import { type SelectedView, initSync } from "@ironcalc/wasm"; import { expect, test } from "vitest"; import { decreaseDecimalPlaces, increaseDecimalPlaces } from "../formatUtil"; -import { isNavigationKey } from "../util"; +import { getFullRangeToString, isNavigationKey } from "../util"; test("checks arrow left is a navigation key", () => { expect(isNavigationKey("ArrowLeft")).toBe(true); @@ -24,3 +26,20 @@ test("decrease decimals", () => { 'dddd"," mmmm dd"," yyyy', ); }); + +test("format range to get the full formula", async () => { + const buffer = await readFile("node_modules/@ironcalc/wasm/wasm_bg.wasm"); + initSync(buffer); + + const selectedView: SelectedView = { + sheet: 0, + row: 1, + column: 8, + range: [1, 8, 1, 8], + top_row: 1, + left_column: 8, + }; + const worksheetNames = ["Sheet1", "Notes"]; + + expect(getFullRangeToString(selectedView, worksheetNames)).toBe("Sheet1!H1"); +}); diff --git a/webapp/src/components/util.ts b/webapp/src/components/util.ts index e826081..3b1a0bb 100644 --- a/webapp/src/components/util.ts +++ b/webapp/src/components/util.ts @@ -1,10 +1,6 @@ import type { Area, Cell } from "./types"; -import { - type SelectedView, - type WorksheetProperties, - columnNameFromNumber, -} from "@ironcalc/wasm"; +import { type SelectedView, columnNameFromNumber } from "@ironcalc/wasm"; /** * Returns true if the keypress should start editing @@ -68,12 +64,11 @@ export function rangeToStr( export function getFullRangeToString( selectedView: SelectedView, - worksheets: WorksheetProperties[], // solo pasar names + worksheetNames: string[], ): string { // order of values is confusing compared to rangeToStr range type, needs refactoring for consistency const [rowStart, columnStart, rowEnd, columnEnd] = selectedView.range; - const sheetNames = worksheets.map((s) => s.name); - const sheetName = `${sheetNames[selectedView.sheet]}!`; + const sheetName = `${worksheetNames[selectedView.sheet]}!`; if (rowStart === rowEnd && columnStart === columnEnd) { return `${sheetName}${columnNameFromNumber(columnStart)}${rowStart}`;