Files
ttstd-infinite-canvas/web/test/gemini-image.test.ts

23 lines
1.1 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { describe, expect, test } from "bun:test";
import { buildGeminiImageGenerationConfig, parseGeminiImageDataUrl } from "../src/lib/gemini-image";
describe("Gemini Images request helpers", () => {
test("拆分参考图 data URL 时使用真实 MIME 和裸 base64", () => {
expect(parseGeminiImageDataUrl("data:image/jpeg;base64,aGVsbG8=")).toEqual({ mimeType: "image/jpeg", data: "aGVsbG8=" });
});
test("拒绝空图和非图片 data URL,避免把错误参考图发给 Gemini", () => {
expect(() => parseGeminiImageDataUrl("")).toThrow("未得到有效的 image data URL");
expect(() => parseGeminiImageDataUrl("data:text/plain;base64,aGVsbG8=")).toThrow("MIME 类型无效");
});
test("把统一图片选项映射到 Gemini imageConfig", () => {
expect(buildGeminiImageGenerationConfig("16:9", "high")).toEqual({
responseModalities: ["TEXT", "IMAGE"],
imageConfig: { aspectRatio: "16:9", imageSize: "4K" },
});
expect(buildGeminiImageGenerationConfig("auto", "auto")).toEqual({ responseModalities: ["TEXT", "IMAGE"] });
});
});