Files
cthulhu/internal/sound/speech_beep_test.go

29 lines
784 B
Go

// Copyright (c) 2026 Storm Dragon
// Authors: Storm Dragon, Angus Kola
// SPDX-License-Identifier: GPL-3.0-or-later
package sound
import (
"context"
"errors"
"log/slog"
"testing"
"time"
)
func TestSpeechBeepDecodesWithRoleSoundsDisabled(t *testing.T) {
service := New(slog.New(slog.DiscardHandler), NativePlayer{Sink: "auto"}, "default", 0.5)
service.Configure(Configuration{Enabled: false, Theme: "none", Sink: "test", Volume: 0.4})
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
if err := service.SpeechBeep(ctx); err != nil {
t.Fatal(err)
}
canceled, cancelBeep := context.WithCancel(ctx)
cancelBeep()
if err := service.SpeechBeep(canceled); !errors.Is(err, context.Canceled) {
t.Fatalf("canceled beep = %v", err)
}
}