34 lines
874 B
Go
34 lines
874 B
Go
package handler
|
|
|
|
import "testing"
|
|
|
|
func TestResolveNextSmokeMode(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
tests := []struct {
|
|
name string
|
|
input string
|
|
mode string
|
|
ok bool
|
|
}{
|
|
{name: "默认值", input: "", mode: "auto", ok: true},
|
|
{name: "自动模式", input: "auto", mode: "auto", ok: true},
|
|
{name: "AI模式", input: "ai", mode: "ai", ok: true},
|
|
{name: "默认策略模式", input: "default", mode: "default", ok: true},
|
|
{name: "大小写兼容", input: "AI", mode: "ai", ok: true},
|
|
{name: "非法值", input: "fast", mode: "", ok: false},
|
|
}
|
|
|
|
for _, tc := range tests {
|
|
tc := tc
|
|
t.Run(tc.name, func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
gotMode, gotOK := resolveNextSmokeMode(tc.input)
|
|
if gotMode != tc.mode || gotOK != tc.ok {
|
|
t.Fatalf("resolveNextSmokeMode(%q)=(%q,%v), want=(%q,%v)", tc.input, gotMode, gotOK, tc.mode, tc.ok)
|
|
}
|
|
})
|
|
}
|
|
}
|