Files
tools/image-watermark/main_test.ts

50 lines
1.1 KiB
TypeScript

import { assertEquals } from "@std/assert";
import { addWatermark } from "./main.ts";
Deno.test("addWatermark - should add watermark to image", async () => {
const { default: sharp } = await import("sharp");
// 创建测试图片 (200x200 红色方块)
const testImagePath = "/tmp/test_image.png";
await sharp({
create: {
width: 200,
height: 200,
channels: 3,
background: { r: 255, g: 0, b: 0 },
},
}).png().toFile(testImagePath);
const outputPath = "/tmp/test_image_watermarked.png";
try {
// 添加水印(带背景色)
await addWatermark(testImagePath, {
text: "Test Watermark",
fontSize: 16,
color: "white",
backgroundColor: "#80000000",
backgroundPadding: 5,
marginRight: 10,
marginBottom: 10,
outputPath,
});
// 验证输出文件存在
const stat = await Deno.stat(outputPath);
assertEquals(stat.isFile, true);
} finally {
// 清理
try {
await Deno.remove(testImagePath);
} catch {
// Ignore
}
try {
await Deno.remove(outputPath);
} catch {
// Ignore
}
}
});