...

Source file src/github.com/json-iterator/go/any_tests/jsoniter_must_be_valid_test.go

Documentation: github.com/json-iterator/go/any_tests

     1  package any_tests
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/json-iterator/go"
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  // if must be valid is useless, just drop this test
    11  func Test_must_be_valid(t *testing.T) {
    12  	should := require.New(t)
    13  	any := jsoniter.Get([]byte("123"))
    14  	should.Equal(any.MustBeValid().ToInt(), 123)
    15  
    16  	any = jsoniter.Wrap(int8(10))
    17  	should.Equal(any.MustBeValid().ToInt(), 10)
    18  
    19  	any = jsoniter.Wrap(int16(10))
    20  	should.Equal(any.MustBeValid().ToInt(), 10)
    21  
    22  	any = jsoniter.Wrap(int32(10))
    23  	should.Equal(any.MustBeValid().ToInt(), 10)
    24  
    25  	any = jsoniter.Wrap(int64(10))
    26  	should.Equal(any.MustBeValid().ToInt(), 10)
    27  
    28  	any = jsoniter.Wrap(uint(10))
    29  	should.Equal(any.MustBeValid().ToInt(), 10)
    30  
    31  	any = jsoniter.Wrap(uint8(10))
    32  	should.Equal(any.MustBeValid().ToInt(), 10)
    33  
    34  	any = jsoniter.Wrap(uint16(10))
    35  	should.Equal(any.MustBeValid().ToInt(), 10)
    36  
    37  	any = jsoniter.Wrap(uint32(10))
    38  	should.Equal(any.MustBeValid().ToInt(), 10)
    39  
    40  	any = jsoniter.Wrap(uint64(10))
    41  	should.Equal(any.MustBeValid().ToInt(), 10)
    42  
    43  	any = jsoniter.Wrap(float32(10))
    44  	should.Equal(any.MustBeValid().ToFloat64(), float64(10))
    45  
    46  	any = jsoniter.Wrap(float64(10))
    47  	should.Equal(any.MustBeValid().ToFloat64(), float64(10))
    48  
    49  	any = jsoniter.Wrap(true)
    50  	should.Equal(any.MustBeValid().ToFloat64(), float64(1))
    51  
    52  	any = jsoniter.Wrap(false)
    53  	should.Equal(any.MustBeValid().ToFloat64(), float64(0))
    54  
    55  	any = jsoniter.Wrap(nil)
    56  	should.Equal(any.MustBeValid().ToFloat64(), float64(0))
    57  
    58  	any = jsoniter.Wrap(struct{ age int }{age: 1})
    59  	should.Equal(any.MustBeValid().ToFloat64(), float64(0))
    60  
    61  	any = jsoniter.Wrap(map[string]interface{}{"abc": 1})
    62  	should.Equal(any.MustBeValid().ToFloat64(), float64(0))
    63  
    64  	any = jsoniter.Wrap("abc")
    65  	should.Equal(any.MustBeValid().ToFloat64(), float64(0))
    66  
    67  	any = jsoniter.Wrap([]int{})
    68  	should.Equal(any.MustBeValid().ToFloat64(), float64(0))
    69  
    70  	any = jsoniter.Wrap([]int{1, 2})
    71  	should.Equal(any.MustBeValid().ToFloat64(), float64(1))
    72  }
    73  

View as plain text