feat: 发布热更 1.5.94,修复中转历史会话并支持一键清空
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
const test = require("node:test");
|
||||
const assert = require("node:assert/strict");
|
||||
|
||||
const { parseTdToolboxImport } = require("../electron/lib/deeplink");
|
||||
|
||||
const validUrl =
|
||||
"tdtoolbox://v1/import?resource=provider&app=codex&name=Sub2API&endpoint=https%3A%2F%2Fapi.example.com&apiKey=sk-test&model=gpt-5.5&source=sub2api&sourceGroupId=42";
|
||||
|
||||
test("parses a valid Sub2API provider deep link", () => {
|
||||
const result = parseTdToolboxImport(validUrl);
|
||||
assert.equal(result.ok, true);
|
||||
assert.deepEqual(result.input, {
|
||||
resource: "provider",
|
||||
app: "codex",
|
||||
name: "Sub2API",
|
||||
endpoint: "https://api.example.com",
|
||||
apiKey: "sk-test",
|
||||
model: "gpt-5.5",
|
||||
source: "sub2api",
|
||||
sourceGroupId: "42",
|
||||
});
|
||||
});
|
||||
|
||||
test("rejects unsupported schemes, endpoints, and sources", () => {
|
||||
for (const url of [
|
||||
"ccswitch://v1/import?resource=provider",
|
||||
validUrl.replace("endpoint=https%3A%2F%2Fapi.example.com", "endpoint=ftp%3A%2F%2Fapi.example.com"),
|
||||
validUrl.replace("source=sub2api", "source=unknown"),
|
||||
]) {
|
||||
const result = parseTdToolboxImport(url);
|
||||
assert.equal(result.ok, false);
|
||||
assert.ok(result.error);
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user