import { describe, expect, it } from "vitest" ;
import { normalizeFeishuExternalKey } from "./external-keys.js" ;
describe("normalizeFeishuExternalKey" , () => {
it("accepts a normal feishu key and trims surrounding spaces" , () => {
expect(normalizeFeishuExternalKey(" img_v3_01abcDEF123 " )).toBe("img_v3_01abcDEF123" );
});
it("rejects traversal and path separator patterns" , () => {
expect(normalizeFeishuExternalKey("../etc/passwd" )).toBeUndefined();
expect(normalizeFeishuExternalKey("a/../../b" )).toBeUndefined();
expect(normalizeFeishuExternalKey("a\\..\\b" )).toBeUndefined();
});
it("rejects empty, non-string, and control-char values" , () => {
expect(normalizeFeishuExternalKey(" " )).toBeUndefined();
expect(normalizeFeishuExternalKey(123 )).toBeUndefined();
expect(normalizeFeishuExternalKey("abc\u0000def" )).toBeUndefined();
});
});
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.8 Sekunden
(vorverarbeitet am 2026-10-11)
¤
*© Formatika GbR, Deutschland