Update GaCy-GO
This commit is contained in:
1 parent
da8a32f60d
commit
0cbe460e49
345 files changed
+98202
-77559
No files matched your search
@@ -0,0 +1,78 @@
|
||||
package common
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestAhaHelpSettingPreservesRunAndExplicitOff(t *testing.T) {
|
||||
resource, err := os.ReadFile(filepath.Join("..", "..", "resources", "AhaHelpConfig.json"))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Chdir(t.TempDir())
|
||||
if err := os.Mkdir("resources", 0755); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := os.WriteFile(filepath.Join("resources", "AhaHelpConfig.json"), resource, 0644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
initial := []byte(`{"currency_wars":{"keep":{"revision":42}},"ex_ranks_unlocked":{"1204":false},"unrelated":"preserve"}`)
|
||||
if err := os.WriteFile("persistent", initial, 0644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if level, err := ReadAhaHelpLevel(); err != nil || level != nil {
|
||||
t.Fatalf("legacy setting: %v %v", level, err)
|
||||
}
|
||||
afterRead, _ := os.ReadFile("persistent")
|
||||
if !bytes.Equal(afterRead, initial) {
|
||||
t.Fatal("read changed persistent")
|
||||
}
|
||||
levels, err := LoadAhaHelpLevels()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, row := range levels {
|
||||
if err := SaveAhaHelpLevel(&row.BuffLevel); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
selected, err := ReadAhaHelpLevel()
|
||||
if err != nil || selected == nil || *selected != row.BuffLevel {
|
||||
t.Fatalf("selected level: %v %v", selected, err)
|
||||
}
|
||||
}
|
||||
off := uint32(0)
|
||||
if err := SaveAhaHelpLevel(&off); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
selected, err := ReadAhaHelpLevel()
|
||||
if err != nil || selected == nil || *selected != 0 {
|
||||
t.Fatalf("explicit off lost: %v %v", selected, err)
|
||||
}
|
||||
beforeInvalid, _ := os.ReadFile("persistent")
|
||||
invalid := ^uint32(0)
|
||||
if err := SaveAhaHelpLevel(&invalid); err == nil {
|
||||
t.Fatal("accepted absent level")
|
||||
}
|
||||
afterInvalid, _ := os.ReadFile("persistent")
|
||||
if !bytes.Equal(beforeInvalid, afterInvalid) {
|
||||
t.Fatal("invalid setting changed persistent")
|
||||
}
|
||||
if err := SaveAhaHelpLevel(nil); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
root, err := readCurrencyWarsPersistentRoot()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if _, ok := root["aha_help_level"]; ok {
|
||||
t.Fatal("legacy reset retained override")
|
||||
}
|
||||
for _, key := range []string{"currency_wars", "ex_ranks_unlocked", "unrelated"} {
|
||||
if len(root[key]) == 0 {
|
||||
t.Fatalf("lost %s", key)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user