From ec3eb573bf49eb6f255fd074ecf47139079bee5d Mon Sep 17 00:00:00 2001 From: dwc1997 <66739829+dwc1997@users.noreply.github.com> Date: Sat, 18 Jul 2026 14:17:34 +0800 Subject: [PATCH] test(shared): add unit tests for numeric coercion helper (#98663) * test(shared): add unit tests for numeric coercion helper * test(shared): cover numeric coercion boundaries --------- Co-authored-by: Peter Steinberger --- src/shared/number-coercion.test.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/shared/number-coercion.test.ts diff --git a/src/shared/number-coercion.test.ts b/src/shared/number-coercion.test.ts new file mode 100644 index 000000000000..4fcb00bf4b32 --- /dev/null +++ b/src/shared/number-coercion.test.ts @@ -0,0 +1,18 @@ +import { describe, expect, it } from "vitest"; +import { resolveNonNegativeNumber } from "./number-coercion.js"; + +describe("resolveNonNegativeNumber", () => { + it.each([0, -0, 1.25, Number.MIN_VALUE, Number.MAX_VALUE])( + "preserves finite non-negative value %s", + (value) => { + expect(resolveNonNegativeNumber(value)).toBe(value); + }, + ); + + it.each([-1, -0.1, Number.NaN, Infinity, -Infinity, null, undefined])( + "rejects invalid value %s", + (value) => { + expect(resolveNonNegativeNumber(value)).toBeUndefined(); + }, + ); +});