| 253 | assert(t, GetMany(json, path)[0].String() == "b") |
| 254 | } |
| 255 | func TestByteSafety(t *testing.T) { |
| 256 | jsonb := []byte(`{"name":"Janet","age":38}`) |
| 257 | mtok := GetBytes(jsonb, "name") |
| 258 | if mtok.String() != "Janet" { |
| 259 | t.Fatalf("expected %v, got %v", "Jason", mtok.String()) |
| 260 | } |
| 261 | mtok2 := GetBytes(jsonb, "age") |
| 262 | if mtok2.Raw != "38" { |
| 263 | t.Fatalf("expected %v, got %v", "Jason", mtok2.Raw) |
| 264 | } |
| 265 | jsonb[9] = 'T' |
| 266 | jsonb[12] = 'd' |
| 267 | jsonb[13] = 'y' |
| 268 | if mtok.String() != "Janet" { |
| 269 | t.Fatalf("expected %v, got %v", "Jason", mtok.String()) |
| 270 | } |
| 271 | } |
| 272 | |
| 273 | func get(json, path string) Result { |
| 274 | return GetBytes([]byte(json), path) |