gogcli/internal/cmd/slides_shared_test.go
2026-04-28 01:09:34 +01:00

46 lines
1.1 KiB
Go

package cmd
import (
"os"
"path/filepath"
"testing"
"google.golang.org/api/slides/v1"
)
func TestResolveSlidesNotesInput_FileTakesPrecedence(t *testing.T) {
notesPath := filepath.Join(t.TempDir(), "notes.txt")
if err := os.WriteFile(notesPath, []byte("from file"), 0o600); err != nil {
t.Fatalf("write notes: %v", err)
}
got, ok, err := resolveSlidesNotesInput(ptrString("from flag"), notesPath)
if err != nil {
t.Fatalf("resolve notes: %v", err)
}
if !ok || got != "from file" {
t.Fatalf("resolve notes = %q, %t; want file content", got, ok)
}
}
func TestFindSpeakerNotesObjectID_FallsBackToBodyPlaceholder(t *testing.T) {
slide := &slides.Page{
SlideProperties: &slides.SlideProperties{
NotesPage: &slides.Page{
PageElements: []*slides.PageElement{
{
ObjectId: "body-placeholder",
Shape: &slides.Shape{
Placeholder: &slides.Placeholder{Type: placeholderTypeBody},
},
},
},
},
},
}
if got := findSpeakerNotesObjectID(slide); got != "body-placeholder" {
t.Fatalf("speaker notes object ID = %q, want body-placeholder", got)
}
}