diff --git a/deno/lib/__tests__/string.test.ts b/deno/lib/__tests__/string.test.ts index 504c0c27f..a1572b7d1 100644 --- a/deno/lib/__tests__/string.test.ts +++ b/deno/lib/__tests__/string.test.ts @@ -569,6 +569,10 @@ test("time", () => { test("time parsing", () => { const time = z.string().time(); time.parse("00:00:00"); + time.parse("23:00:00"); + time.parse("00:59:00"); + time.parse("00:00:59"); + time.parse("23:59:59"); time.parse("09:52:31"); time.parse("23:59:59.9999999"); expect(() => time.parse("")).toThrow(); @@ -579,6 +583,11 @@ test("time parsing", () => { expect(() => time.parse("00:00:0")).toThrow(); expect(() => time.parse("00:00:00.000+00:00")).toThrow(); + expect(() => time.parse("24:00:00")).toThrow(); + expect(() => time.parse("00:60:00")).toThrow(); + expect(() => time.parse("00:00:60")).toThrow(); + expect(() => time.parse("24:60:60")).toThrow(); + const time2 = z.string().time({ precision: 2 }); time2.parse("00:00:00.00"); time2.parse("09:52:31.12"); diff --git a/src/__tests__/string.test.ts b/src/__tests__/string.test.ts index 1ad8647d9..9e2e1b494 100644 --- a/src/__tests__/string.test.ts +++ b/src/__tests__/string.test.ts @@ -568,6 +568,10 @@ test("time", () => { test("time parsing", () => { const time = z.string().time(); time.parse("00:00:00"); + time.parse("23:00:00"); + time.parse("00:59:00"); + time.parse("00:00:59"); + time.parse("23:59:59"); time.parse("09:52:31"); time.parse("23:59:59.9999999"); expect(() => time.parse("")).toThrow(); @@ -578,6 +582,11 @@ test("time parsing", () => { expect(() => time.parse("00:00:0")).toThrow(); expect(() => time.parse("00:00:00.000+00:00")).toThrow(); + expect(() => time.parse("24:00:00")).toThrow(); + expect(() => time.parse("00:60:00")).toThrow(); + expect(() => time.parse("00:00:60")).toThrow(); + expect(() => time.parse("24:60:60")).toThrow(); + const time2 = z.string().time({ precision: 2 }); time2.parse("00:00:00.00"); time2.parse("09:52:31.12");