jsoniter_map_test.go 895 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package jsoniter
  2. import (
  3. "fmt"
  4. "reflect"
  5. "testing"
  6. )
  7. func Test_read_map(t *testing.T) {
  8. iter := ParseString(`{"hello": "world"}`)
  9. m := map[string]string{"1": "2"}
  10. iter.Read(&m)
  11. copy(iter.buf, []byte{0, 0, 0, 0, 0, 0})
  12. if !reflect.DeepEqual(map[string]string{"1": "2", "hello": "world"}, m) {
  13. fmt.Println(iter.Error)
  14. t.Fatal(m)
  15. }
  16. }
  17. func Test_read_map_of_interface(t *testing.T) {
  18. iter := ParseString(`{"hello": "world"}`)
  19. m := map[string]interface{}{"1": "2"}
  20. iter.Read(&m)
  21. if !reflect.DeepEqual(map[string]interface{}{"1": "2", "hello": "world"}, m) {
  22. fmt.Println(iter.Error)
  23. t.Fatal(m)
  24. }
  25. }
  26. func Test_read_map_of_any(t *testing.T) {
  27. iter := ParseString(`{"hello": "world"}`)
  28. m := map[string]Any{"1": *MakeAny("2")}
  29. iter.Read(&m)
  30. if !reflect.DeepEqual(map[string]Any{"1": *MakeAny("2"), "hello": *MakeAny("world")}, m) {
  31. fmt.Println(iter.Error)
  32. t.Fatal(m)
  33. }
  34. }