From f20bae83f3423a0397874822fcd1847ab6f0b5e5 Mon Sep 17 00:00:00 2001 From: Pat Sier Date: Tue, 21 May 2024 10:54:23 -0400 Subject: [PATCH] fix: resolve csv column off by one error --- src/versions/common/csv.ts | 2 +- test/common/csv.spec.ts | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 test/common/csv.spec.ts diff --git a/src/versions/common/csv.ts b/src/versions/common/csv.ts index 44fbc5c..f9c14c6 100644 --- a/src/versions/common/csv.ts +++ b/src/versions/common/csv.ts @@ -47,7 +47,7 @@ export function csvColumnName(column: number): string { if (column < ASCII_UPPERCASE.length) return ASCII_UPPERCASE[column] return ( - ASCII_UPPERCASE[Math.floor(column / ASCII_UPPERCASE.length)] + + ASCII_UPPERCASE[Math.floor(column / ASCII_UPPERCASE.length) - 1] + csvColumnName(column % ASCII_UPPERCASE.length) ) } diff --git a/test/common/csv.spec.ts b/test/common/csv.spec.ts new file mode 100644 index 0000000..9f52b3c --- /dev/null +++ b/test/common/csv.spec.ts @@ -0,0 +1,7 @@ +import test from "ava" +import { csvColumnName } from "../../src/versions/common/csv.js" + +test("csvColumnName", (t) => { + t.is(csvColumnName(0), "A") + t.is(csvColumnName(26), "AA") +})