Reset master to testing content
This commit is contained in:
1 parent
0f2587b719
commit
42afa2a56c
1483 files changed
+145308
-938069
No files matched your search
@@ -0,0 +1,37 @@
|
||||
// Copyright (c) 2026 Storm Dragon
|
||||
// Authors: Storm Dragon, Angus Kola
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
package app
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"log/slog"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestCapitalBeepCancellationAndFailure(t *testing.T) {
|
||||
for _, interrupt := range []bool{false, true} {
|
||||
speaker := &spellingTestSpeaker{}
|
||||
worker := newSpeechWorker(slog.New(slog.DiscardHandler), speaker)
|
||||
worker.capitalization = func() (bool, bool) { return true, true }
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
worker.capitalBeep = func(beepContext context.Context) error {
|
||||
if interrupt {
|
||||
cancel()
|
||||
return beepContext.Err()
|
||||
}
|
||||
return errors.New("audio unavailable")
|
||||
}
|
||||
err := worker.deliver(ctx, speechRequest{Text: "A", Character: true})
|
||||
cancel()
|
||||
if interrupt {
|
||||
if !errors.Is(err, context.Canceled) || len(speaker.parts) != 0 {
|
||||
t.Fatalf("canceled capital: %v %v", err, speaker.parts)
|
||||
}
|
||||
} else if err != nil || len(speaker.parts) != 2 || speaker.parts[0] != "cap" || speaker.parts[1] != "A" {
|
||||
t.Fatalf("failed beep suppressed speech: %v %v", err, speaker.parts)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user