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,66 @@
|
||||
// Copyright (c) 2026 Storm Dragon
|
||||
// Authors: Storm Dragon, Angus Kola
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
package speech
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestReadDefaults(t *testing.T) {
|
||||
path, server := newSettingsServer(t, func(command string) string {
|
||||
switch command {
|
||||
case "GET RATE":
|
||||
return "200-20\r\n200 OK\r\n"
|
||||
case "GET PITCH":
|
||||
return "200--10\r\n200 OK\r\n"
|
||||
case "GET VOLUME":
|
||||
return "200-100\r\n200 OK\r\n"
|
||||
}
|
||||
return ""
|
||||
})
|
||||
defaults, err := ReadDefaults(t.Context(), path)
|
||||
if err != nil || defaults.Rate == nil || *defaults.Rate != 20 ||
|
||||
defaults.Pitch == nil || *defaults.Pitch != -10 || defaults.Volume == nil || *defaults.Volume != 100 {
|
||||
t.Fatalf("defaults=%+v, err=%v", defaults, err)
|
||||
}
|
||||
for _, command := range []string{"SET SELF RATE 20", "SET SELF PITCH -10", "SET SELF VOLUME 100", "SPEAK"} {
|
||||
if server.saw(1, command) {
|
||||
t.Fatalf("query changed speech: %s", command)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestReadDefaultsRejectsUnsupportedAndInvalidValues(t *testing.T) {
|
||||
for _, response := range []string{"500 UNSUPPORTED\r\n", "200 OK\r\n", "200-invalid\r\n200 OK\r\n",
|
||||
"200-101\r\n200 OK\r\n", "200-0\r\n200-1\r\n200 OK\r\n"} {
|
||||
t.Run(response, func(t *testing.T) {
|
||||
path, _ := newSettingsServer(t, func(string) string { return response })
|
||||
defaults, err := ReadDefaults(t.Context(), path)
|
||||
if err != nil || defaults.Rate != nil || defaults.Pitch != nil || defaults.Volume != nil {
|
||||
t.Fatalf("invalid defaults=%+v, err=%v", defaults, err)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestReadDefaultsRetainsPartialValuesAndHonorsDeadline(t *testing.T) {
|
||||
path, _ := newSettingsServer(t, func(command string) string {
|
||||
if command == "GET RATE" {
|
||||
return "200-0\r\n200 OK\r\n"
|
||||
}
|
||||
if command == "GET PITCH" {
|
||||
return "200-unfinished\r\n"
|
||||
}
|
||||
return ""
|
||||
})
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 100*time.Millisecond)
|
||||
defer cancel()
|
||||
defaults, err := ReadDefaults(ctx, path)
|
||||
if err == nil || defaults.Rate == nil || *defaults.Rate != 0 || defaults.Pitch != nil || defaults.Volume != nil {
|
||||
t.Fatalf("partial defaults=%+v, err=%v", defaults, err)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user