jsoniter_encode_interface_test.go 863 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package jsoniter
  2. import (
  3. "encoding/json"
  4. "testing"
  5. "github.com/stretchr/testify/require"
  6. )
  7. func Test_encode_interface(t *testing.T) {
  8. should := require.New(t)
  9. var a interface{}
  10. a = int8(10)
  11. str, err := MarshalToString(a)
  12. should.Nil(err)
  13. should.Equal(str, "10")
  14. a = float32(3)
  15. str, err = MarshalToString(a)
  16. should.Nil(err)
  17. should.Equal(str, "3")
  18. a = map[string]interface{}{"abc": 1}
  19. str, err = MarshalToString(a)
  20. should.Nil(err)
  21. should.Equal(str, `{"abc":1}`)
  22. a = uintptr(1)
  23. str, err = MarshalToString(a)
  24. should.Nil(err)
  25. should.Equal(str, "1")
  26. a = uint(1)
  27. str, err = MarshalToString(a)
  28. should.Nil(err)
  29. should.Equal(str, "1")
  30. a = uint8(1)
  31. str, err = MarshalToString(a)
  32. should.Nil(err)
  33. should.Equal(str, "1")
  34. a = json.RawMessage("abc")
  35. MarshalToString(a)
  36. str, err = MarshalToString(a)
  37. should.Nil(err)
  38. should.Equal(str, "abc")
  39. }