package store import ( "encoding/json" "path/filepath" "testing" ) func TestStoreSameRevisionCanonicalJSON(t *testing.T) { s, err := Open(filepath.Join(t.TempDir(), "state.db")) if err != nil { t.Fatal(err) } defer s.Close() snapshot := currentStoreSnapshot(t) if err := s.SaveSnapshot(snapshot); err != nil { t.Fatal(err) } var fields map[string]json.RawMessage if err := json.Unmarshal(snapshot.Task.Raw, &fields); err != nil { t.Fatal(err) } canonical, err := json.Marshal(fields) if err != nil { t.Fatal(err) } snapshot.Task.Raw = canonical if err := s.SaveSnapshot(snapshot); err != nil { t.Fatalf("identical task content with reordered JSON fields was rejected: %v", err) } }