Code review and fixes.

This commit is contained in:
Storm Dragon committed 2026-11-02 23:37:45 -05:00
1 parent f2a35a9305
commit 60f7f7a2e9
12 files changed
+185 -34

No files matched your search

+20
View File
@@ -5,6 +5,7 @@
package preferences
import (
"fmt"
"reflect"
"strings"
"testing"
@@ -95,3 +96,22 @@ func TestWineValuesMergeRejectsInvalidEntriesByName(t *testing.T) {
})
}
}
func TestWineValuesRejectEmbeddedControlCharacters(t *testing.T) {
for character := rune(0); character < ' '; character++ {
t.Run(fmt.Sprintf("U+%04X", character), func(t *testing.T) {
settings := config.DefaultSettings()
settings.Wine.ExcludedPrograms = []string{"Kept.exe"}
values := FromSettings(settings)
entry := "Game" + string(character) + ".exe"
values.Wine.ExcludedPrograms = []string{entry}
merged, err := values.Merge(settings)
if err == nil || !strings.Contains(err.Error(), entry) {
t.Fatalf("invalid entry was not named and rejected: %v", err)
}
if !reflect.DeepEqual(merged.Wine, settings.Wine) {
t.Fatalf("rejected entry changed Wine settings: %+v", merged.Wine)
}
})
}
}