(t *testing.T)
| 82 | } |
| 83 | |
| 84 | func TestEncode(t *testing.T) { |
| 85 | var seven int32 = 7 |
| 86 | var nullptr *int |
| 87 | tm := time.Now() |
| 88 | tmb, err := tm.MarshalBinary() |
| 89 | if err != nil { |
| 90 | t.Fatal(err) |
| 91 | } |
| 92 | tru := true |
| 93 | ts := &tspb.Timestamp{Seconds: 25, Nanos: 300} |
| 94 | tsb, err := proto.Marshal(ts) |
| 95 | if err != nil { |
| 96 | t.Fatal(err) |
| 97 | } |
| 98 | for _, test := range []struct { |
| 99 | in, want any |
| 100 | }{ |
| 101 | {nil, nil}, |
| 102 | {0, int64(0)}, |
| 103 | {uint64(999), uint64(999)}, |
| 104 | {float32(3.5), float64(3.5)}, |
| 105 | {"", ""}, |
| 106 | {"x", "x"}, |
| 107 | {true, true}, |
| 108 | {nullptr, nil}, |
| 109 | {seven, int64(seven)}, |
| 110 | {&seven, int64(seven)}, |
| 111 | {[]byte{1, 2}, []byte{1, 2}}, |
| 112 | {[2]byte{3, 4}, []any{uint64(3), uint64(4)}}, |
| 113 | {[]int(nil), nil}, |
| 114 | {[]int{}, []any{}}, |
| 115 | {[]int{1, 2}, []any{int64(1), int64(2)}}, |
| 116 | { |
| 117 | [][]string{{"a", "b"}, {"c", "d"}}, |
| 118 | []any{ |
| 119 | []any{"a", "b"}, |
| 120 | []any{"c", "d"}, |
| 121 | }, |
| 122 | }, |
| 123 | {[...]int{1, 2}, []any{int64(1), int64(2)}}, |
| 124 | {[]any{nil, false}, []any{nil, false}}, |
| 125 | {map[string]int(nil), nil}, |
| 126 | {map[string]int{}, map[string]any{}}, |
| 127 | { |
| 128 | map[string]int{"a": 1, "b": 2}, |
| 129 | map[string]any{"a": int64(1), "b": int64(2)}, |
| 130 | }, |
| 131 | {tm, tmb}, |
| 132 | {ts, tsb}, |
| 133 | {te{'A'}, "A"}, |
| 134 | {special(17), 17}, |
| 135 | {myString("x"), "x"}, |
| 136 | {[]myString{"x"}, []any{"x"}}, |
| 137 | {map[myString]myString{"a": "x"}, map[string]any{"a": "x"}}, |
| 138 | { |
| 139 | map[int]bool{17: true}, |
| 140 | map[string]any{"17": true}, |
| 141 | }, |
nothing calls this directly
no test coverage detected