From c3d17260fd9c4dd470c8a1fe8a21fee22063d238 Mon Sep 17 00:00:00 2001 From: ghiscoding Date: Fri, 12 Jun 2026 19:17:52 -0400 Subject: [PATCH 1/2] chore: increase test coverage --- .../excel-builder-vanilla/src/Excel/Worksheet.ts | 1 - .../src/Excel/__tests__/Worksheet.spec.ts | 12 ++++++++++++ .../src/__tests__/excel-builder.spec.ts | 12 ++++++++++-- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/packages/excel-builder-vanilla/src/Excel/Worksheet.ts b/packages/excel-builder-vanilla/src/Excel/Worksheet.ts index eb588f5..2ab64d7 100644 --- a/packages/excel-builder-vanilla/src/Excel/Worksheet.ts +++ b/packages/excel-builder-vanilla/src/Excel/Worksheet.ts @@ -697,7 +697,6 @@ export class Worksheet { case 'number': cellXml = `${cellValue}`; break; - case 'text': default: { let id: number | undefined; if (typeof this.sharedStrings?.strings[cellValue as string] !== 'undefined') { diff --git a/packages/excel-builder-vanilla/src/Excel/__tests__/Worksheet.spec.ts b/packages/excel-builder-vanilla/src/Excel/__tests__/Worksheet.spec.ts index be02b99..2a3ff4b 100644 --- a/packages/excel-builder-vanilla/src/Excel/__tests__/Worksheet.spec.ts +++ b/packages/excel-builder-vanilla/src/Excel/__tests__/Worksheet.spec.ts @@ -351,6 +351,18 @@ describe('Excel/Worksheet', () => { expect(xml).toContain(' { + const ws = new Worksheet({ name: 'Test' }); + ws.sharedStrings = { strings: {}, addString: () => 0 } as any; + const xml = ws.serializeRows([ + [ + { value: 'A', metadata: { type: 'string' } }, + { value: 1, metadata: { type: 'number' } }, + ], + ]); + expect(xml).toContain(' { const ws = new Worksheet({ name: 'Test' }); const addStringSpy = vi.fn(() => 42); diff --git a/packages/excel-builder-vanilla/src/__tests__/excel-builder.spec.ts b/packages/excel-builder-vanilla/src/__tests__/excel-builder.spec.ts index 63092e5..b2ddd13 100644 --- a/packages/excel-builder-vanilla/src/__tests__/excel-builder.spec.ts +++ b/packages/excel-builder-vanilla/src/__tests__/excel-builder.spec.ts @@ -807,7 +807,11 @@ describe('Excel-Builder-Vanilla', () => { const albumTable = new Table(); const originalData = [ ['Artist', 'Album', 'Price'], - ['Buckethead', 'Albino Slug', 8.99], + [ + { value: 'Buckethead', metadata: { type: 'string' } }, + { value: 'Albino Slug', metadata: { type: 'string' } }, + { value: 8.99, metadata: { type: 'number' } }, + ], ['Buckethead', 'Electric Tears', 13.99], ['Buckethead', 'Colma', 11.34], ['Crystal Method', 'Vegas', 10.54], @@ -892,7 +896,11 @@ describe('Excel-Builder-Vanilla', () => { columns: [], data: [ ['Artist', 'Album', 'Price'], - ['Buckethead', 'Albino Slug', 8.99], + [ + { value: 'Buckethead', metadata: { type: 'string' } }, + { value: 'Albino Slug', metadata: { type: 'string' } }, + { value: 8.99, metadata: { type: 'number' } }, + ], ['Buckethead', 'Electric Tears', 13.99], ['Buckethead', 'Colma', 11.34], ['Crystal Method', 'Vegas', 10.54], From fcae07a14ca133c88304968679e5a176da92d311 Mon Sep 17 00:00:00 2001 From: ghiscoding Date: Fri, 12 Jun 2026 19:20:23 -0400 Subject: [PATCH 2/2] chore: remove unnecessary text type --- packages/excel-builder-vanilla/src/Excel/Worksheet.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/excel-builder-vanilla/src/Excel/Worksheet.ts b/packages/excel-builder-vanilla/src/Excel/Worksheet.ts index 2ab64d7..323ef98 100644 --- a/packages/excel-builder-vanilla/src/Excel/Worksheet.ts +++ b/packages/excel-builder-vanilla/src/Excel/Worksheet.ts @@ -355,8 +355,7 @@ export class Worksheet { cell = cellCache.formula.cloneNode(true); cell.firstChild.firstChild.nodeValue = cellValue as string; break; - case 'text': - /*falls through*/ + /*falls through, text type */ default: { let id: number | undefined; if (typeof this.sharedStrings?.strings[cellValue as string] !== 'undefined') {