mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-05-07 22:28:26 +08:00
* fix:Add a new vendor page, API endpoint, and model name. Fix the bug where, after entering characters, line breaks cannot be fully deleted. * fix: add missing i18n key codexConfig.modelNameHint for zh/en/ja --------- Co-authored-by: Jason <farion1231@gmail.com>
56 lines
1.6 KiB
TypeScript
56 lines
1.6 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import {
|
|
extractCodexBaseUrl,
|
|
extractCodexModelName,
|
|
setCodexBaseUrl,
|
|
setCodexModelName,
|
|
} from "@/utils/providerConfigUtils";
|
|
|
|
describe("Codex TOML utils", () => {
|
|
it("removes base_url line when set to empty", () => {
|
|
const input = [
|
|
'model_provider = "openai"',
|
|
'base_url = "https://api.example.com/v1"',
|
|
'model = "gpt-5-codex"',
|
|
"",
|
|
].join("\n");
|
|
|
|
const output = setCodexBaseUrl(input, "");
|
|
|
|
expect(output).not.toMatch(/^\s*base_url\s*=/m);
|
|
expect(extractCodexBaseUrl(output)).toBeUndefined();
|
|
expect(extractCodexModelName(output)).toBe("gpt-5-codex");
|
|
});
|
|
|
|
it("removes model line when set to empty", () => {
|
|
const input = [
|
|
'model_provider = "openai"',
|
|
'base_url = "https://api.example.com/v1"',
|
|
'model = "gpt-5-codex"',
|
|
"",
|
|
].join("\n");
|
|
|
|
const output = setCodexModelName(input, "");
|
|
|
|
expect(output).not.toMatch(/^\s*model\s*=/m);
|
|
expect(extractCodexModelName(output)).toBeUndefined();
|
|
expect(extractCodexBaseUrl(output)).toBe("https://api.example.com/v1");
|
|
});
|
|
|
|
it("updates existing values when non-empty", () => {
|
|
const input = [
|
|
'model_provider = "openai"',
|
|
"base_url = 'https://old.example/v1'",
|
|
'model = "old-model"',
|
|
"",
|
|
].join("\n");
|
|
|
|
const output1 = setCodexBaseUrl(input, " https://new.example/v1 \n");
|
|
expect(extractCodexBaseUrl(output1)).toBe("https://new.example/v1");
|
|
|
|
const output2 = setCodexModelName(output1, " new-model \n");
|
|
expect(extractCodexModelName(output2)).toBe("new-model");
|
|
});
|
|
});
|
|
|