Ariver
2026-06-04 9d3d275dca8e8dc442eb04434c8bd0fdad79bc04
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")
   }
}