| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- package extra
- import (
- "github.com/json-iterator/go"
- "github.com/json-iterator/go/require"
- "testing"
- )
- func init() {
- RegisterFuzzyDecoders()
- }
- func Test_string_to_string(t *testing.T) {
- should := require.New(t)
- var val string
- should.Nil(jsoniter.UnmarshalFromString(`"100"`, &val))
- should.Equal("100", val)
- }
- func Test_int_to_string(t *testing.T) {
- should := require.New(t)
- var val string
- should.Nil(jsoniter.UnmarshalFromString(`100`, &val))
- should.Equal("100", val)
- }
- func Test_float_to_string(t *testing.T) {
- should := require.New(t)
- var val string
- should.Nil(jsoniter.UnmarshalFromString(`12.0`, &val))
- should.Equal("12.0", val)
- }
- func Test_string_to_int(t *testing.T) {
- should := require.New(t)
- var val int
- should.Nil(jsoniter.UnmarshalFromString(`"100"`, &val))
- should.Equal(100, val)
- }
- func Test_int_to_int(t *testing.T) {
- should := require.New(t)
- var val int
- should.Nil(jsoniter.UnmarshalFromString(`100`, &val))
- should.Equal(100, val)
- }
- func Test_float_to_int(t *testing.T) {
- should := require.New(t)
- var val int
- should.Nil(jsoniter.UnmarshalFromString(`1.23`, &val))
- should.Equal(1, val)
- }
- func Test_large_float_to_int(t *testing.T) {
- should := require.New(t)
- var val int
- should.NotNil(jsoniter.UnmarshalFromString(`1234512345123451234512345.0`, &val))
- }
- func Test_string_to_float32(t *testing.T) {
- should := require.New(t)
- var val float32
- should.Nil(jsoniter.UnmarshalFromString(`"100"`, &val))
- should.Equal(float32(100), val)
- }
- func Test_float_to_float32(t *testing.T) {
- should := require.New(t)
- var val float32
- should.Nil(jsoniter.UnmarshalFromString(`1.23`, &val))
- should.Equal(float32(1.23), val)
- }
- func Test_string_to_float64(t *testing.T) {
- should := require.New(t)
- var val float64
- should.Nil(jsoniter.UnmarshalFromString(`"100"`, &val))
- should.Equal(float64(100), val)
- }
- func Test_float_to_float64(t *testing.T) {
- should := require.New(t)
- var val float64
- should.Nil(jsoniter.UnmarshalFromString(`1.23`, &val))
- should.Equal(float64(1.23), val)
- }
- func Test_empty_array_as_map(t *testing.T) {
- should := require.New(t)
- var val map[string]interface{}
- should.Nil(jsoniter.UnmarshalFromString(`[]`, &val))
- should.Equal(map[string]interface{}{}, val)
- }
- func Test_empty_array_as_object(t *testing.T) {
- should := require.New(t)
- var val struct{}
- should.Nil(jsoniter.UnmarshalFromString(`[]`, &val))
- should.Equal(struct{}{}, val)
- }
|