mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-11 12:10:45 +08:00
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。 Made-with: Cursor
27 lines
1.1 KiB
TypeScript
27 lines
1.1 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { isValidVoiceId } from "./speech-provider.js";
|
|
|
|
describe("elevenlabs speech provider", () => {
|
|
it("validates ElevenLabs voice ID length and character rules", () => {
|
|
const cases = [
|
|
{ value: "pMsXgVXv3BLzUgSXRplE", expected: true },
|
|
{ value: "21m00Tcm4TlvDq8ikWAM", expected: true },
|
|
{ value: "VoiceAlias1234567890", expected: true },
|
|
{ value: "a1b2c3d4e5", expected: true },
|
|
{ value: "a".repeat(40), expected: true },
|
|
{ value: "", expected: false },
|
|
{ value: "abc", expected: false },
|
|
{ value: "123456789", expected: false },
|
|
{ value: "a".repeat(41), expected: false },
|
|
{ value: "a".repeat(100), expected: false },
|
|
{ value: "pMsXgVXv3BLz-gSXRplE", expected: false },
|
|
{ value: "pMsXgVXv3BLz_gSXRplE", expected: false },
|
|
{ value: "pMsXgVXv3BLz gSXRplE", expected: false },
|
|
{ value: "../../../etc/passwd", expected: false },
|
|
{ value: "voice?param=value", expected: false },
|
|
] as const;
|
|
for (const testCase of cases) {
|
|
expect(isValidVoiceId(testCase.value), testCase.value).toBe(testCase.expected);
|
|
}
|
|
});
|
|
});
|