Ariver
2026-06-13 859c14d783dc31fe68550b114fc8adeea09dab2a
privatevoice.src/internal/modelselection/selection_test.go
@@ -67,6 +67,42 @@
   }
}
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
@@ -82,6 +118,21 @@
   }
}
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")
   }
}
func TestResolveInvalidManualFallsBackToLanguageDefault(t *testing.T) {
   cfg := config.Default()
   cfg.LanguageMode = config.LanguageModeAuto