mirror of
https://github.com/chenhg5/cc-connect.git
synced 2026-07-03 12:28:10 +08:00
48 lines
1.3 KiB
Go
48 lines
1.3 KiB
Go
package core
|
|
|
|
import "testing"
|
|
|
|
func TestResolveModelAlias_CaseInsensitive(t *testing.T) {
|
|
models := []ModelOption{{Name: "gpt-5.3-codex", Alias: "Codex"}}
|
|
|
|
got := resolveModelAlias(models, "codex")
|
|
if got != "gpt-5.3-codex" {
|
|
t.Fatalf("resolveModelAlias() = %q, want %q", got, "gpt-5.3-codex")
|
|
}
|
|
}
|
|
|
|
func TestResolveModelAlias_NoMatchFallsBackToInput(t *testing.T) {
|
|
models := []ModelOption{{Name: "gpt-5.3-codex", Alias: "codex"}}
|
|
|
|
got := resolveModelAlias(models, "gpt-5.4")
|
|
if got != "gpt-5.4" {
|
|
t.Fatalf("resolveModelAlias() = %q, want original input", got)
|
|
}
|
|
}
|
|
|
|
func TestParseModelSwitchArgs(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
args []string
|
|
want string
|
|
ok bool
|
|
}{
|
|
{name: "legacy syntax", args: []string{"gpt"}, want: "gpt", ok: true},
|
|
{name: "switch syntax", args: []string{"switch", "gpt"}, want: "gpt", ok: true},
|
|
{name: "missing switch target", args: []string{"switch"}, ok: false},
|
|
{name: "unknown subcommand", args: []string{"list", "gpt"}, ok: false},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
got, ok := parseModelSwitchArgs(tt.args)
|
|
if ok != tt.ok {
|
|
t.Fatalf("parseModelSwitchArgs() ok = %v, want %v", ok, tt.ok)
|
|
}
|
|
if got != tt.want {
|
|
t.Fatalf("parseModelSwitchArgs() = %q, want %q", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|