summaryrefslogtreecommitdiff
path: root/internal/processor/processor_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-02 08:59:38 +0300
committerPaul Buetow <paul@buetow.org>2026-04-02 08:59:38 +0300
commit7b26fefeae30c5e02d5848ae24405f9b2436decb (patch)
tree2ca4da8cbb14f7ce8db4e8693d5ce0ef0753a72d /internal/processor/processor_test.go
parentc918ee3682f462daf0514738472b1977d37beaa9 (diff)
Fix processor audio metadata instruction gating
Diffstat (limited to 'internal/processor/processor_test.go')
-rw-r--r--internal/processor/processor_test.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/internal/processor/processor_test.go b/internal/processor/processor_test.go
index d6326f6..b746a84 100644
--- a/internal/processor/processor_test.go
+++ b/internal/processor/processor_test.go
@@ -922,6 +922,22 @@ func TestGenerateAudioOmitsOpenAIInstructionsForUnsupportedModel(t *testing.T) {
t.Fatalf("captured OpenAIInstruction = %q, want %q", capturedConfig.OpenAIInstruction, "Speak clearly.")
}
+ wordDir := p.findCardDirectory("ябълка!?")
+ if wordDir == "" {
+ t.Fatal("expected generated word directory")
+ }
+ metadataData, err := os.ReadFile(filepath.Join(wordDir, "audio_metadata.txt"))
+ if err != nil {
+ t.Fatalf("expected metadata file: %v", err)
+ }
+ metadata := string(metadataData)
+ if strings.Contains(metadata, "instruction=Speak clearly.") {
+ t.Fatalf("openai metadata unexpectedly recorded unsupported instructions: %q", metadata)
+ }
+ if !strings.Contains(metadata, "provider=openai") || !strings.Contains(metadata, "model=tts-1") {
+ t.Fatalf("openai metadata missing provider/model semantics: %q", metadata)
+ }
+
attrPath := audio.AttributionPath(fakeProvider.lastOutputFile)
attributionData, err := os.ReadFile(attrPath)
if err != nil {