Ariver
2026-06-03 a149d7b7bbbcc330b12ef0aa6b3d07d8ddaa860e
privatevoice.src/internal/modelselection/selection_test.go
@@ -59,11 +59,53 @@
   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 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")
   }
}