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}`;