Files
SnowLuma/.pnpm-store/v11/files/e7/336440d8c845c65365fe6b906c1616467e365995e07a642aa4aac5f4bc213cf63ad60485e29ae486e584f93a0ef76da362f2f9ce8b4006064cf6c1b99ed44e
T
TanTan 2a69b23b47
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

73 lines
2.6 KiB
Plaintext

import { expect, test } from "vitest";
import { z } from "../../../../index.js";
import fr from "../../../locales/fr.js";
test("French locale - type name translations in too_small errors", () => {
z.config(fr());
const stringResult = z.string().min(5).safeParse("abc");
expect(stringResult.success).toBe(false);
if (!stringResult.success) {
expect(stringResult.error.issues[0].message).toBe("Trop petit : chaîne de caractères doit avoir >=5 caractères");
}
const numberResult = z.number().min(10).safeParse(5);
expect(numberResult.success).toBe(false);
if (!numberResult.success) {
expect(numberResult.error.issues[0].message).toBe("Trop petit : nombre doit être >=10");
}
const arrayResult = z.array(z.string()).min(3).safeParse(["a", "b"]);
expect(arrayResult.success).toBe(false);
if (!arrayResult.success) {
expect(arrayResult.error.issues[0].message).toBe("Trop petit : tableau doit avoir >=3 éléments");
}
const setResult = z
.set(z.string())
.min(2)
.safeParse(new Set(["a"]));
expect(setResult.success).toBe(false);
if (!setResult.success) {
expect(setResult.error.issues[0].message).toBe("Trop petit : ensemble doit avoir >=2 éléments");
}
});
test("French locale - type name translations in too_big errors", () => {
z.config(fr());
const stringResult = z.string().max(3).safeParse("abcde");
expect(stringResult.success).toBe(false);
if (!stringResult.success) {
expect(stringResult.error.issues[0].message).toBe("Trop grand : chaîne de caractères doit avoir <=3 caractères");
}
const numberResult = z.number().max(10).safeParse(15);
expect(numberResult.success).toBe(false);
if (!numberResult.success) {
expect(numberResult.error.issues[0].message).toBe("Trop grand : nombre doit être <=10");
}
const arrayResult = z.array(z.string()).max(2).safeParse(["a", "b", "c"]);
expect(arrayResult.success).toBe(false);
if (!arrayResult.success) {
expect(arrayResult.error.issues[0].message).toBe("Trop grand : tableau doit avoir <=2 éléments");
}
});
test("French locale - type name translations in invalid_type errors", () => {
z.config(fr());
const stringResult = z.string().safeParse(123);
expect(stringResult.success).toBe(false);
if (!stringResult.success) {
expect(stringResult.error.issues[0].message).toBe("Entrée invalide : chaîne de caractères attendu, nombre reçu");
}
const arrayResult = z.array(z.string()).safeParse({});
expect(arrayResult.success).toBe(false);
if (!arrayResult.success) {
expect(arrayResult.error.issues[0].message).toBe("Entrée invalide : tableau attendu, objet reçu");
}
});