Merged changes from hunter. Attempt to fix cthulhu announcing modifiers when suspended for xterm.
This commit is contained in:
1 parent
27867a48cb
commit
f2cc47c8a0
24 files changed
+679
-67
No files matched your search
@@ -0,0 +1,41 @@
|
||||
// Copyright (c) 2026 Storm Dragon
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
package config
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
"reflect"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestWineSettingsRoundTripAndValidation(t *testing.T) {
|
||||
settings := DefaultSettings()
|
||||
settings.Wine = WineSettings{ControllerOnly: true, ExcludedPrograms: []string{"Game.exe", "Another Game.exe"}}
|
||||
path := filepath.Join(t.TempDir(), "settings.toml")
|
||||
store, err := NewStore(path)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := store.Save(settings); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
loaded, err := Load(path)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !reflect.DeepEqual(loaded.Wine, settings.Wine) {
|
||||
t.Fatalf("Wine settings = %+v", loaded.Wine)
|
||||
}
|
||||
cloned := cloneSettings(settings)
|
||||
cloned.Wine.ExcludedPrograms[0] = "Changed.exe"
|
||||
if settings.Wine.ExcludedPrograms[0] != "Game.exe" {
|
||||
t.Fatal("clone aliases exclusions")
|
||||
}
|
||||
for _, name := range []string{"", "../game.exe", `C:\game.exe`, "Game.exe\rOther.exe", "game.exe\n"} {
|
||||
settings.Wine.ExcludedPrograms = []string{name}
|
||||
if err := Validate(settings); err == nil {
|
||||
t.Fatalf("accepted exclusion %q", name)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user