Skip to content

Commit 3669280

Browse files
authored
test(infra): add unit tests for SQLite number normalization (#98009)
* test(infra): add unit tests for SQLite number normalization * fix: remove undefined param test, not in function signature
1 parent 4a200e6 commit 3669280

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

src/infra/sqlite-number.test.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// Tests for SQLite number normalization.
2+
import { describe, expect, it } from "vitest";
3+
import { normalizeSqliteNumber } from "./sqlite-number.js";
4+
5+
describe("normalizeSqliteNumber", () => {
6+
it("returns number value unchanged", () => {
7+
expect(normalizeSqliteNumber(5)).toBe(5);
8+
});
9+
10+
it("converts bigint to number", () => {
11+
expect(normalizeSqliteNumber(BigInt(5))).toBe(5);
12+
});
13+
14+
it("returns undefined for null", () => {
15+
expect(normalizeSqliteNumber(null)).toBeUndefined();
16+
});
17+
18+
it("returns zero unchanged", () => {
19+
expect(normalizeSqliteNumber(0)).toBe(0);
20+
});
21+
22+
it("returns negative value unchanged", () => {
23+
expect(normalizeSqliteNumber(-1)).toBe(-1);
24+
});
25+
26+
it("returns NaN unchanged", () => {
27+
expect(normalizeSqliteNumber(Number.NaN)).toBe(Number.NaN);
28+
});
29+
30+
it("converts large bigint", () => {
31+
expect(normalizeSqliteNumber(BigInt(Number.MAX_SAFE_INTEGER))).toBe(Number.MAX_SAFE_INTEGER);
32+
});
33+
34+
it("converts zero bigint", () => {
35+
expect(normalizeSqliteNumber(BigInt(0))).toBe(0);
36+
});
37+
38+
it("converts negative bigint", () => {
39+
expect(normalizeSqliteNumber(BigInt(-1))).toBe(-1);
40+
});
41+
});

0 commit comments

Comments
 (0)