carlos / platform Public

Clone
git clone https://amadan.net/carlos/platform

Plain git — no account needed to clone.

Download

Download this file

1package main
2
3import (
4 "encoding/json"
5 "os"
6 "path/filepath"
7 "sort"
8 "testing"
9)
10
11// The pointer digest copy (#253) Paul approved, by ID. The record must name
12// exactly these, and each text must be in its file byte for byte.
13var digestCopyIDs = []string{
14 "digests.rollback-resign", "digests.marker-unreadable", "digests.resign-changed", "digests.resign-unreadable",
15 "digests.resign-no-marker",
16 "digests.resign-intro", "digests.resign-row", "digests.resign-computed", "digests.resign-kept",
17 "digests.resign-missing", "digests.resign-prompt", "digests.resign-done", "digests.resign-aborted",
18 "digests.channels-header", "digests.state-yes", "digests.state-no", "digests.state-straggler",
19 "digests.status-on", "digests.status-off", "digests.status-header", "digests.status-none-left",
20 "digests.turned-on", "digests.turned-off", "digests.all-accounts",
21 "digests.cli-heading-resign", "digests.cli-heading-digests", "digests.roll-note",
22 "digests.console-no-key", "digests.console-pointer-write", "digests.console-marker-write",
23 "digests.activity-resigned", "digests.unknown-account", "digests.status-error",
24}
25
26func TestDigestCopyIsApplied(t *testing.T) {
27 raw, err := os.ReadFile("docs/superpowers/plans/2026-10-07-instance-settings-1-copy.json")
28 if err != nil {
29 t.Fatal(err)
30 }
31 var rec struct {
32 ApprovedBy string `json:"approved_by"`
33 ApprovedOn string `json:"approved_on"`
34 Entries []struct{ ID, File, Text string }
35 }
36 if err := json.Unmarshal(raw, &rec); err != nil {
37 t.Fatal(err)
38 }
39 if rec.ApprovedBy == "" || rec.ApprovedOn == "" {
40 t.Fatal("the record has no approval")
41 }
42 var got []string
43 for _, e := range rec.Entries {
44 got = append(got, e.ID)
45 if e.Text == "" {
46 t.Errorf("%s: the approved text is empty", e.ID)
47 continue
48 }
49 body, err := os.ReadFile(filepath.Join(".", e.File))
50 if err != nil {
51 t.Errorf("%s: %v", e.ID, err)
52 continue
53 }
54 if !copyApplied(e.ID, e.File, e.Text, body) {
55 t.Errorf("%s: %s does not contain the approved text %q", e.ID, e.File, e.Text)
56 }
57 }
58 want := append([]string(nil), digestCopyIDs...)
59 sort.Strings(got)
60 sort.Strings(want)
61 if len(got) != len(want) {
62 t.Fatalf("record IDs %v, want %v", got, want)
63 }
64 for i := range got {
65 if got[i] != want[i] {
66 t.Fatalf("record IDs %v, want %v", got, want)
67 }
68 }
69}
70