| | |
| | | cfg := config.Default() |
| | | cfg.LanguageMode = config.LanguageModeAuto |
| | | cfg.ModelSelectionMode = config.ModelSelectionModeManual |
| | | cfg.SelectedModelID = model.DefaultModelID |
| | | cfg.SelectedModelID = model.ParakeetModelID |
| | | |
| | | current := Resolve(cfg, fakeDetector{locale: "en-US"}) |
| | | if current.ModelID != model.ParakeetModelID { |
| | | t.Fatalf("model id = %q, want manual selected %q", current.ModelID, model.ParakeetModelID) |
| | | } |
| | | } |
| | | |
| | | func TestResolveManualUsesQwen3ASRForChinese(t *testing.T) { |
| | | cfg := config.Default() |
| | | cfg.LanguageMode = config.LanguageModeAuto |
| | | cfg.ModelSelectionMode = config.ModelSelectionModeManual |
| | | cfg.SelectedModelID = model.Qwen3ASRModelID |
| | | |
| | | current := Resolve(cfg, fakeDetector{locale: "zh-CN"}) |
| | | if current.ModelID != model.Qwen3ASRModelID { |
| | | t.Fatalf("model id = %q, want manual selected %q", current.ModelID, model.Qwen3ASRModelID) |
| | | } |
| | | } |
| | | |
| | | func TestResolveManualUsesXASRForChinese(t *testing.T) { |
| | | cfg := config.Default() |
| | | cfg.LanguageMode = config.LanguageModeAuto |
| | | cfg.ModelSelectionMode = config.ModelSelectionModeManual |
| | | cfg.SelectedModelID = model.XASRZhEn960ModelID |
| | | |
| | | current := Resolve(cfg, fakeDetector{locale: "zh-CN"}) |
| | | if current.ModelID != model.XASRZhEn960ModelID { |
| | | t.Fatalf("model id = %q, want manual selected %q", current.ModelID, model.XASRZhEn960ModelID) |
| | | } |
| | | } |
| | | |
| | | func TestResolveManualUsesXASRForEnglish(t *testing.T) { |
| | | cfg := config.Default() |
| | | cfg.LanguageMode = config.LanguageModeAuto |
| | | cfg.ModelSelectionMode = config.ModelSelectionModeManual |
| | | cfg.SelectedModelID = model.XASRZhEn960ModelID |
| | | |
| | | current := Resolve(cfg, fakeDetector{locale: "en-US"}) |
| | | if current.ModelID != model.XASRZhEn960ModelID { |
| | | t.Fatalf("model id = %q, want manual selected %q", current.ModelID, model.XASRZhEn960ModelID) |
| | | } |
| | | } |
| | | |
| | | func TestResolveManualModelFallsBackWhenLanguageIncompatible(t *testing.T) { |
| | | cfg := config.Default() |
| | | cfg.LanguageMode = config.LanguageModeAuto |
| | | cfg.ModelSelectionMode = config.ModelSelectionModeManual |
| | | cfg.SelectedModelID = model.ParakeetModelID |
| | | |
| | | current := Resolve(cfg, fakeDetector{locale: "zh-CN"}) |
| | | if current.ModelID != model.DefaultModelID { |
| | | t.Fatalf("model id = %q, want manual selected %q", current.ModelID, model.DefaultModelID) |
| | | t.Fatalf("model id = %q, want Chinese default %q", current.ModelID, model.DefaultModelID) |
| | | } |
| | | if current.FallbackReason == "" { |
| | | t.Fatal("expected fallback reason") |
| | | } |
| | | } |
| | | |
| | | func TestResolveManualQwen3ASRFallsBackForEnglish(t *testing.T) { |
| | | cfg := config.Default() |
| | | cfg.LanguageMode = config.LanguageModeAuto |
| | | cfg.ModelSelectionMode = config.ModelSelectionModeManual |
| | | cfg.SelectedModelID = model.Qwen3ASRModelID |
| | | |
| | | current := Resolve(cfg, fakeDetector{locale: "en-US"}) |
| | | if current.ModelID != model.MoonshineModelID { |
| | | t.Fatalf("model id = %q, want English default %q", current.ModelID, model.MoonshineModelID) |
| | | } |
| | | if current.FallbackReason == "" { |
| | | t.Fatal("expected fallback reason") |
| | | } |
| | | } |
| | | |