mirror of
https://github.com/json-iterator/go.git
synced 2025-01-23 18:54:21 +02:00
increase coverage
This commit is contained in:
parent
550531a046
commit
1de44419ea
@ -136,7 +136,7 @@ func (any *stringAny) ToFloat64() float64 {
|
||||
// eg 123true => 123, -12.12xxa => -12.12
|
||||
endPos := 1
|
||||
for i := 1; i < len(any.val); i++ {
|
||||
if any.val[i] == '.' || any.val[i] == 'e' {
|
||||
if any.val[i] == '.' || any.val[i] == 'e' || any.val[i] == 'E' {
|
||||
endPos = i + 1
|
||||
continue
|
||||
}
|
||||
|
@ -70,4 +70,5 @@ func Test_read_float_to_any(t *testing.T) {
|
||||
should.Equal(uint64(0), any2.ToUint64())
|
||||
should.Equal(any.ValueType(), Number)
|
||||
|
||||
should.Equal("1.23E+01", any.ToString())
|
||||
}
|
||||
|
@ -183,6 +183,9 @@ func Test_read_uint64_to_any(t *testing.T) {
|
||||
stream := NewStream(ConfigDefault, nil, 32)
|
||||
any.WriteTo(stream)
|
||||
should.Equal("12345", string(stream.Buffer()))
|
||||
stream = NewStream(ConfigDefault, nil, 32)
|
||||
stream.WriteUint(uint(123))
|
||||
should.Equal("123", string(stream.Buffer()))
|
||||
}
|
||||
|
||||
func Test_int_lazy_any_get(t *testing.T) {
|
||||
|
@ -2,9 +2,9 @@ package jsoniter
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/json-iterator/go/require"
|
||||
"testing"
|
||||
|
||||
"github.com/json-iterator/go/require"
|
||||
)
|
||||
|
||||
func Test_bind_api_demo(t *testing.T) {
|
||||
@ -21,7 +21,7 @@ func Test_iterator_api_demo(t *testing.T) {
|
||||
for iter.ReadArray() {
|
||||
total += iter.ReadInt()
|
||||
}
|
||||
fmt.Println(total)
|
||||
//fmt.Println(total)
|
||||
}
|
||||
|
||||
type People struct {
|
||||
|
28
jsoniter_invalid_test.go
Normal file
28
jsoniter_invalid_test.go
Normal file
@ -0,0 +1,28 @@
|
||||
package jsoniter
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/json-iterator/go/require"
|
||||
)
|
||||
|
||||
func Test_invalid(t *testing.T) {
|
||||
should := require.New(t)
|
||||
any := Get([]byte("[]"))
|
||||
should.Equal(Invalid, any.Get(0.3).ValueType())
|
||||
// is nil correct ?
|
||||
should.Equal(nil, any.Get(0.3).GetInterface())
|
||||
|
||||
any = any.Get(0.3)
|
||||
should.Equal(false, any.ToBool())
|
||||
should.Equal(int(0), any.ToInt())
|
||||
should.Equal(int32(0), any.ToInt32())
|
||||
should.Equal(int64(0), any.ToInt64())
|
||||
should.Equal(uint(0), any.ToUint())
|
||||
should.Equal(uint32(0), any.ToUint32())
|
||||
should.Equal(uint64(0), any.ToUint64())
|
||||
should.Equal(float32(0), any.ToFloat32())
|
||||
should.Equal(float64(0), any.ToFloat64())
|
||||
should.Equal("", any.ToString())
|
||||
|
||||
}
|
118
jsoniter_wrap_test.go
Normal file
118
jsoniter_wrap_test.go
Normal file
@ -0,0 +1,118 @@
|
||||
package jsoniter
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/json-iterator/go/require"
|
||||
)
|
||||
|
||||
func Test_wrap_and_valuetype_everything(t *testing.T) {
|
||||
should := require.New(t)
|
||||
var i interface{}
|
||||
any := Get([]byte("123"))
|
||||
// default of number type is float64
|
||||
i = float64(123)
|
||||
should.Equal(i, any.GetInterface())
|
||||
|
||||
any = Wrap(int8(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
should.Equal(any.LastError(), nil)
|
||||
// get interface is not int8 interface
|
||||
// i = int8(10)
|
||||
// should.Equal(i, any.GetInterface())
|
||||
|
||||
any = Wrap(int16(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
should.Equal(any.LastError(), nil)
|
||||
//i = int16(10)
|
||||
//should.Equal(i, any.GetInterface())
|
||||
|
||||
any = Wrap(int32(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
should.Equal(any.LastError(), nil)
|
||||
i = int32(10)
|
||||
should.Equal(i, any.GetInterface())
|
||||
any = Wrap(int64(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
should.Equal(any.LastError(), nil)
|
||||
i = int64(10)
|
||||
should.Equal(i, any.GetInterface())
|
||||
|
||||
any = Wrap(uint(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
should.Equal(any.LastError(), nil)
|
||||
// not equal
|
||||
//i = uint(10)
|
||||
//should.Equal(i, any.GetInterface())
|
||||
any = Wrap(uint8(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
should.Equal(any.LastError(), nil)
|
||||
// not equal
|
||||
// i = uint8(10)
|
||||
// should.Equal(i, any.GetInterface())
|
||||
any = Wrap(uint16(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
should.Equal(any.LastError(), nil)
|
||||
any = Wrap(uint32(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
should.Equal(any.LastError(), nil)
|
||||
i = uint32(10)
|
||||
should.Equal(i, any.GetInterface())
|
||||
any = Wrap(uint64(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
should.Equal(any.LastError(), nil)
|
||||
i = uint64(10)
|
||||
should.Equal(i, any.GetInterface())
|
||||
|
||||
any = Wrap(float32(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
should.Equal(any.LastError(), nil)
|
||||
// not equal
|
||||
//i = float32(10)
|
||||
//should.Equal(i, any.GetInterface())
|
||||
any = Wrap(float64(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
should.Equal(any.LastError(), nil)
|
||||
i = float64(10)
|
||||
should.Equal(i, any.GetInterface())
|
||||
|
||||
any = Wrap(true)
|
||||
should.Equal(any.ValueType(), Bool)
|
||||
should.Equal(any.LastError(), nil)
|
||||
i = true
|
||||
should.Equal(i, any.GetInterface())
|
||||
any = Wrap(false)
|
||||
should.Equal(any.ValueType(), Bool)
|
||||
should.Equal(any.LastError(), nil)
|
||||
i = false
|
||||
should.Equal(i, any.GetInterface())
|
||||
|
||||
any = Wrap(nil)
|
||||
should.Equal(any.ValueType(), Nil)
|
||||
should.Equal(any.LastError(), nil)
|
||||
i = nil
|
||||
should.Equal(i, any.GetInterface())
|
||||
|
||||
stream := NewStream(ConfigDefault, nil, 32)
|
||||
any.WriteTo(stream)
|
||||
should.Equal("null", string(stream.Buffer()))
|
||||
should.Equal(any.LastError(), nil)
|
||||
|
||||
any = Wrap(struct{ age int }{age: 1})
|
||||
should.Equal(any.ValueType(), Object)
|
||||
should.Equal(any.LastError(), nil)
|
||||
i = struct{ age int }{age: 1}
|
||||
should.Equal(i, any.GetInterface())
|
||||
|
||||
any = Wrap(map[string]interface{}{"abc": 1})
|
||||
should.Equal(any.ValueType(), Object)
|
||||
should.Equal(any.LastError(), nil)
|
||||
i = map[string]interface{}{"abc": 1}
|
||||
should.Equal(i, any.GetInterface())
|
||||
|
||||
any = Wrap("abc")
|
||||
i = "abc"
|
||||
should.Equal(i, any.GetInterface())
|
||||
should.Equal(nil, any.LastError())
|
||||
|
||||
}
|
41
wrap_test.go
41
wrap_test.go
@ -1,41 +0,0 @@
|
||||
package jsoniter
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/json-iterator/go/require"
|
||||
)
|
||||
|
||||
func Test_wrap_and_valuetype_everything(t *testing.T) {
|
||||
should := require.New(t)
|
||||
any := Wrap(int8(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
any = Wrap(int16(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
any = Wrap(int32(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
any = Wrap(int64(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
|
||||
any = Wrap(uint(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
any = Wrap(uint8(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
any = Wrap(uint16(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
any = Wrap(uint32(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
any = Wrap(uint64(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
|
||||
any = Wrap(float32(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
any = Wrap(float64(10))
|
||||
should.Equal(any.ValueType(), Number)
|
||||
|
||||
any = Wrap(true)
|
||||
should.Equal(any.ValueType(), Bool)
|
||||
any = Wrap(false)
|
||||
should.Equal(any.ValueType(), Bool)
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user