diff options
| author | Paul Buetow <paul@buetow.org> | 2026-04-01 21:19:18 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-04-01 21:19:18 +0300 |
| commit | d1c6d860214be8895f4ed90ff74bff664fbb4422 (patch) | |
| tree | 4983cce4b69ffebdff02e1a2c3cc869d0603b4e4 /internal/cli/command_test.go | |
| parent | aeeb3c6ffea828773f849b88d97c5ffead706a97 (diff) | |
Add Gemini audio CLI flags
Diffstat (limited to 'internal/cli/command_test.go')
| -rw-r--r-- | internal/cli/command_test.go | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/internal/cli/command_test.go b/internal/cli/command_test.go index df193fb..ffb741b 100644 --- a/internal/cli/command_test.go +++ b/internal/cli/command_test.go @@ -58,6 +58,9 @@ func TestCreateRootCommand(t *testing.T) { {"openai-image-size", true}, {"openai-image-quality", true}, {"openai-image-style", true}, + {"audio-provider", true}, + {"gemini-tts-model", true}, + {"gemini-voice", true}, {"nanobanana-model", true}, {"nanobanana-text-model", true}, } @@ -124,6 +127,33 @@ func TestSetupFlags(t *testing.T) { t.Errorf("Expected openai-voice help to derive from shared voice list, got %q", openAIVoiceFlag.Usage) } + audioProviderFlag := cmd.Flags().Lookup("audio-provider") + if audioProviderFlag == nil { + t.Fatal("audio-provider flag not found") + } + if audioProviderFlag.DefValue != audio.DefaultProviderConfig().Provider { + t.Errorf("Expected default audio-provider to be %s, got %s", audio.DefaultProviderConfig().Provider, audioProviderFlag.DefValue) + } + + geminiTTSModelFlag := cmd.Flags().Lookup("gemini-tts-model") + if geminiTTSModelFlag == nil { + t.Fatal("gemini-tts-model flag not found") + } + if geminiTTSModelFlag.DefValue != audio.DefaultProviderConfig().GeminiTTSModel { + t.Errorf("Expected default gemini-tts-model to be %s, got %s", audio.DefaultProviderConfig().GeminiTTSModel, geminiTTSModelFlag.DefValue) + } + + geminiVoiceFlag := cmd.Flags().Lookup("gemini-voice") + if geminiVoiceFlag == nil { + t.Fatal("gemini-voice flag not found") + } + if geminiVoiceFlag.DefValue != "" { + t.Errorf("Expected default gemini-voice to be empty, got %q", geminiVoiceFlag.DefValue) + } + if !strings.Contains(geminiVoiceFlag.Usage, "default: model default") { + t.Errorf("Expected gemini-voice help to describe the model default voice, got %q", geminiVoiceFlag.Usage) + } + nanoBananaModelFlag := cmd.Flags().Lookup("nanobanana-model") if nanoBananaModelFlag == nil { t.Fatal("nanobanana-model flag not found") @@ -413,6 +443,15 @@ func TestBindFlagsToViper(t *testing.T) { if err := cmd.Flags().Set("openai-model", "tts-1-hd"); err != nil { t.Fatalf("Failed to set openai-model flag: %v", err) } + if err := cmd.Flags().Set("audio-provider", "gemini"); err != nil { + t.Fatalf("Failed to set audio-provider flag: %v", err) + } + if err := cmd.Flags().Set("gemini-tts-model", "gemini-2.5-flash-preview-tts"); err != nil { + t.Fatalf("Failed to set gemini-tts-model flag: %v", err) + } + if err := cmd.Flags().Set("gemini-voice", "Kore"); err != nil { + t.Fatalf("Failed to set gemini-voice flag: %v", err) + } if err := cmd.Flags().Set("nanobanana-model", "gemini-3.1-flash-image-preview"); err != nil { t.Fatalf("Failed to set nanobanana-model flag: %v", err) } @@ -436,6 +475,15 @@ func TestBindFlagsToViper(t *testing.T) { if viper.GetString("audio.openai_model") != "tts-1-hd" { t.Errorf("Expected audio.openai_model to be tts-1-hd, got %s", viper.GetString("audio.openai_model")) } + if viper.GetString("audio.provider") != "gemini" { + t.Errorf("Expected audio.provider to be gemini, got %s", viper.GetString("audio.provider")) + } + if viper.GetString("audio.gemini_tts_model") != "gemini-2.5-flash-preview-tts" { + t.Errorf("Expected audio.gemini_tts_model to be gemini-2.5-flash-preview-tts, got %s", viper.GetString("audio.gemini_tts_model")) + } + if viper.GetString("audio.gemini_voice") != "Kore" { + t.Errorf("Expected audio.gemini_voice to be Kore, got %s", viper.GetString("audio.gemini_voice")) + } if viper.GetString("image.nanobanana_model") != "gemini-3.1-flash-image-preview" { t.Errorf("Expected image.nanobanana_model to be gemini-3.1-flash-image-preview, got %s", viper.GetString("image.nanobanana_model")) } |
