mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-05-27 00:20:55 +08:00
fix:Add a new vendor page, API endpoint, and model name. (#1155)
* 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>
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
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");
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user