MCPcopy
hub / github.com/bitly/go-simplejson / TestStdlibInterfaces

Function TestStdlibInterfaces

simplejson_test.go:170–205  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

168}
169
170func TestStdlibInterfaces(t *testing.T) {
171 val := new(struct {
172 Name string `json:"name"`
173 Params *Json `json:"params"`
174 })
175 val2 := new(struct {
176 Name string `json:"name"`
177 Params *Json `json:"params"`
178 })
179
180 raw := `{"name":"myobject","params":{"string":"simplejson"}}`
181
182 if err := json.Unmarshal([]byte(raw), val); err != nil {
183 t.Fatalf("err %#v", err)
184 }
185 if val.Name != "myobject" {
186 t.Errorf("got %#v", val.Name)
187 }
188 if val.Params.data == nil {
189 t.Errorf("got %#v", val.Params.data)
190 }
191 if s, _ := val.Params.Get("string").String(); s != "simplejson" {
192 t.Errorf("got %#v", s)
193 }
194
195 p, err := json.Marshal(val)
196 if err != nil {
197 t.Fatalf("err %#v", err)
198 }
199 if err = json.Unmarshal(p, val2); err != nil {
200 t.Fatalf("err %#v", err)
201 }
202 if !reflect.DeepEqual(val, val2) { // stable
203 t.Errorf("got %#v expected %#v", val2, val)
204 }
205}
206
207func TestSet(t *testing.T) {
208 js, err := NewJson([]byte(`{}`))

Callers

nothing calls this directly

Calls 2

StringMethod · 0.80
GetMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…