From edf5b5465b13d93ae370909873b175a1327cd60c Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 8 Jun 2026 12:23:03 +0000 Subject: [PATCH 1/2] test: add missing boundary tests for validateRowId Adds edge case coverage for `validateRowId` to verify its behavior with boundary integers (MAX/MIN_SAFE_INTEGER), bigints, empty/whitespace strings, and floating point formats. --- package-lock.json | 4 ++-- tests/unit/sql-utils.test.ts | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3a0212d..ccbf581 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "sqlite-explorer", - "version": "1.3.5", + "version": "1.5.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "sqlite-explorer", - "version": "1.3.5", + "version": "1.5.2", "funding": [ { "type": "github", diff --git a/tests/unit/sql-utils.test.ts b/tests/unit/sql-utils.test.ts index 7894689..6225a2c 100644 --- a/tests/unit/sql-utils.test.ts +++ b/tests/unit/sql-utils.test.ts @@ -130,6 +130,31 @@ describe('SQL Utils', () => { assert.strictEqual(validateRowId(-12), -12); }); + it('should handle boundary integer values', () => { + assert.strictEqual(validateRowId(Number.MAX_SAFE_INTEGER), Number.MAX_SAFE_INTEGER); + assert.strictEqual(validateRowId(Number.MIN_SAFE_INTEGER), Number.MIN_SAFE_INTEGER); + assert.strictEqual(validateRowId(Number.MAX_SAFE_INTEGER.toString()), Number.MAX_SAFE_INTEGER); + assert.strictEqual(validateRowId(Number.MIN_SAFE_INTEGER.toString()), Number.MIN_SAFE_INTEGER); + }); + + it('should handle bigint values correctly', () => { + // @ts-ignore - testing BigInt fallback since JS allows it even if types don't + assert.strictEqual(validateRowId(9007199254740991n), 9007199254740991); + // @ts-ignore + assert.strictEqual(validateRowId(-9007199254740991n), -9007199254740991); + }); + + it('should evaluate empty or whitespace strings as 0', () => { + assert.strictEqual(validateRowId(''), 0); + assert.strictEqual(validateRowId(' '), 0); + }); + + it('should handle float and scientific notation strings', () => { + assert.strictEqual(validateRowId('123.45'), 123.45); + assert.strictEqual(validateRowId('1e3'), 1000); + assert.strictEqual(validateRowId('-1e3'), -1000); + }); + it('should throw an error for non-numeric strings', () => { assert.throws(() => validateRowId('abc'), /Invalid rowid: abc/); assert.throws(() => validateRowId('12a'), /Invalid rowid: 12a/); From 75f9a0f0f7460b1ef7345e990f7ec74731e5b3ed Mon Sep 17 00:00:00 2001 From: zknpr Date: Mon, 8 Jun 2026 18:35:42 +0200 Subject: [PATCH 2/2] chore: revert stray package-lock version bump --- package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index ccbf581..3a0212d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "sqlite-explorer", - "version": "1.5.2", + "version": "1.3.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "sqlite-explorer", - "version": "1.5.2", + "version": "1.3.5", "funding": [ { "type": "github",