@@ -4,6 +4,7 @@ import { parseTimeoutMs, parseTimeoutMsWithFallback } from "./parse-timeout.js";
|
4 | 4 | describe("parseTimeoutMs", () => { |
5 | 5 | it("parses positive string values", () => { |
6 | 6 | expect(parseTimeoutMs("1500")).toBe(1500); |
| 7 | +expect(parseTimeoutMs("+1500")).toBe(1500); |
7 | 8 | }); |
8 | 9 | |
9 | 10 | it("returns undefined for empty or invalid values", () => { |
@@ -12,6 +13,7 @@ describe("parseTimeoutMs", () => {
|
12 | 13 | expect(parseTimeoutMs("nope")).toBeUndefined(); |
13 | 14 | expect(parseTimeoutMs("10abc")).toBeUndefined(); |
14 | 15 | expect(parseTimeoutMs("1.5")).toBeUndefined(); |
| 16 | +expect(parseTimeoutMs("0x10")).toBeUndefined(); |
15 | 17 | expect(parseTimeoutMs("0")).toBeUndefined(); |
16 | 18 | }); |
17 | 19 | }); |
@@ -27,6 +29,7 @@ describe("parseTimeoutMsWithFallback", () => {
|
27 | 29 | expect(parseTimeoutMsWithFallback(2500, 3000)).toBe(2500); |
28 | 30 | expect(parseTimeoutMsWithFallback(2500n, 3000)).toBe(2500); |
29 | 31 | expect(parseTimeoutMsWithFallback("2500", 3000)).toBe(2500); |
| 32 | +expect(parseTimeoutMsWithFallback("+2500", 3000)).toBe(2500); |
30 | 33 | }); |
31 | 34 | |
32 | 35 | it("falls back on unsupported types by default", () => { |
@@ -47,6 +50,7 @@ describe("parseTimeoutMsWithFallback", () => {
|
47 | 50 | it("throws on malformed or unsafe parsed values", () => { |
48 | 51 | expect(() => parseTimeoutMsWithFallback("10abc", 3000)).toThrow('Received: "10abc"'); |
49 | 52 | expect(() => parseTimeoutMsWithFallback("1.5", 3000)).toThrow('Received: "1.5"'); |
| 53 | +expect(() => parseTimeoutMsWithFallback("0x10", 3000)).toThrow('Received: "0x10"'); |
50 | 54 | expect(() => parseTimeoutMsWithFallback(String(Number.MAX_SAFE_INTEGER + 1), 3000)).toThrow( |
51 | 55 | "Received", |
52 | 56 | ); |
|