carlos / platform Public

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

Plain git — no account needed to clone.

Download

Download this file

1package moves
2
3import (
4 "encoding/json"
5 "testing"
6)
7
8func TestCheckZeroValueFails(t *testing.T) {
9 var c Check
10 if c.OK {
11 t.Fatal("a zero Check must not be OK")
12 }
13 if c.Reason != "" {
14 t.Fatalf("zero reason %q", c.Reason)
15 }
16}
17
18func TestCheckJSONWireNames(t *testing.T) {
19 b, err := json.Marshal(Check{OK: true, Reason: "r"})
20 if err != nil {
21 t.Fatal(err)
22 }
23 if string(b) != `{"ok":true,"reason":"r"}` {
24 t.Fatalf("wire form %s", b)
25 }
26 var back Check
27 if err := json.Unmarshal([]byte(`{"ok":false,"reason":"why"}`), &back); err != nil {
28 t.Fatal(err)
29 }
30 if back.OK || back.Reason != "why" {
31 t.Fatalf("round trip %+v", back)
32 }
33 var zero Check
34 if err := json.Unmarshal([]byte(`{}`), &zero); err != nil || zero.OK {
35 t.Fatalf("empty object read as %+v, %v", zero, err)
36 }
37}
38