diff --git a/packages/zod/src/v3/tests/complex.test.ts b/packages/zod/src/v3/tests/complex.test.ts
index 7807b2b11f..1d0303320f 100644
--- a/packages/zod/src/v3/tests/complex.test.ts
+++ b/packages/zod/src/v3/tests/complex.test.ts
@@ -1,4 +1,4 @@
-import { test } from "vitest";
+import { expect, test } from "vitest";
import * as z from "zod/v3";
const crazySchema = z.object({
@@ -40,7 +40,7 @@ const crazySchema = z.object({
// });
test("parse", () => {
- crazySchema.parse({
+ const input = {
tuple: ["asdf", 1234, true, null, undefined, "1234"],
merged: { k1: "asdf", k2: 12 },
union: ["asdf", 12, "asdf", 12, "asdf", 12],
@@ -52,5 +52,19 @@ test("parse", () => {
nonstrict: { points: 1234 },
numProm: Promise.resolve(12),
lenfun: (x: string) => x.length,
- });
+ };
+
+ const result = crazySchema.parse(input);
+
+ // Verify the parsed result structure
+ expect(result.tuple).toEqual(input.tuple);
+ expect(result.merged).toEqual(input.merged);
+ expect(result.union).toEqual(input.union);
+ expect(result.array).toEqual(input.array);
+ expect(result.sumMinLength).toEqual(input.sumMinLength);
+ expect(result.intersection).toEqual(input.intersection);
+ expect(result.enum).toEqual(input.enum);
+ expect(result.nonstrict).toEqual(input.nonstrict);
+ expect(result.numProm).toBeInstanceOf(Promise);
+ expect(typeof result.lenfun).toBe("function");
});
diff --git a/packages/zod/src/v3/tests/function.test.ts b/packages/zod/src/v3/tests/function.test.ts
index a0f03bb5c1..9a9e193bf5 100644
--- a/packages/zod/src/v3/tests/function.test.ts
+++ b/packages/zod/src/v3/tests/function.test.ts
@@ -10,7 +10,8 @@ const func1 = z.function(args1, returns1);
test("function parsing", () => {
const parsed = func1.parse((arg: any) => arg.length);
- parsed("asdf");
+ const result = parsed("asdf");
+ expect(result).toBe(4);
});
test("parsed function fail 1", () => {
@@ -226,8 +227,11 @@ test("allow extra parameters", () => {
test("params and returnType getters", () => {
const func = z.function().args(z.string()).returns(z.string());
- func.parameters().items[0].parse("asdf");
- func.returnType().parse("asdf");
+ const paramResult = func.parameters().items[0].parse("asdf");
+ expect(paramResult).toBe("asdf");
+
+ const returnResult = func.returnType().parse("asdf");
+ expect(returnResult).toBe("asdf");
});
test("inference with transforms", () => {
diff --git a/packages/zod/src/v3/tests/nan.test.ts b/packages/zod/src/v3/tests/nan.test.ts
index e24567abca..ce1214eb86 100644
--- a/packages/zod/src/v3/tests/nan.test.ts
+++ b/packages/zod/src/v3/tests/nan.test.ts
@@ -6,8 +6,11 @@ import * as z from "zod/v3";
const schema = z.nan();
test("passing validations", () => {
- schema.parse(Number.NaN);
- schema.parse(Number("Not a number"));
+ const result1 = schema.parse(Number.NaN);
+ expect(Number.isNaN(result1)).toBe(true);
+
+ const result2 = schema.parse(Number("Not a number"));
+ expect(Number.isNaN(result2)).toBe(true);
});
test("failing validations", () => {
diff --git a/packages/zod/src/v4/core/util.ts b/packages/zod/src/v4/core/util.ts
index 948a02c8b2..b067a34dbd 100644
--- a/packages/zod/src/v4/core/util.ts
+++ b/packages/zod/src/v4/core/util.ts
@@ -199,7 +199,7 @@ export function assertNotEqual(val: AssertNotEqual): AssertNotEqual<
export function assertIs(_arg: T): void {}
export function assertNever(_x: never): never {
- throw new Error();
+ throw new Error("Unexpected value in exhaustive check");
}
export function assert(_: any): asserts _ is T {}