From 550531a0463343b5996a2554a76f5fc9d68d6bc3 Mon Sep 17 00:00:00 2001 From: Xargin Date: Wed, 5 Jul 2017 11:40:20 +0800 Subject: [PATCH] increase coverage --- feature_stream_float.go | 2 +- jsoniter_1dot8_only_test.go | 9 ++++---- jsoniter_any_array_test.go | 3 ++- jsoniter_any_bool_test.go | 17 +++++++++++++++ jsoniter_any_int_test.go | 14 +++++++++++++ jsoniter_object_test.go | 5 +++-- wrap_test.go | 41 +++++++++++++++++++++++++++++++++++++ 7 files changed, 83 insertions(+), 8 deletions(-) create mode 100644 wrap_test.go diff --git a/feature_stream_float.go b/feature_stream_float.go index 0b8e8a0..281370b 100644 --- a/feature_stream_float.go +++ b/feature_stream_float.go @@ -1,8 +1,8 @@ package jsoniter import ( - "strconv" "math" + "strconv" ) var _POW10 []uint64 diff --git a/jsoniter_1dot8_only_test.go b/jsoniter_1dot8_only_test.go index 50f7a6a..e2154c4 100644 --- a/jsoniter_1dot8_only_test.go +++ b/jsoniter_1dot8_only_test.go @@ -3,11 +3,12 @@ package jsoniter import ( - "testing" - "encoding/json" - "github.com/json-iterator/go/require" "bytes" + "encoding/json" + "testing" "unicode/utf8" + + "github.com/json-iterator/go/require" ) func Test_new_encoder(t *testing.T) { @@ -41,4 +42,4 @@ func Test_string_encode_with_std_without_html_escape(t *testing.T) { jsoniterOutput := string(jsoniterOutputBytes) should.Equal(stdOutput, jsoniterOutput) } -} \ No newline at end of file +} diff --git a/jsoniter_any_array_test.go b/jsoniter_any_array_test.go index 577745e..e793b14 100644 --- a/jsoniter_any_array_test.go +++ b/jsoniter_any_array_test.go @@ -1,8 +1,9 @@ package jsoniter import ( - "github.com/json-iterator/go/require" "testing" + + "github.com/json-iterator/go/require" ) func Test_read_empty_array_as_any(t *testing.T) { diff --git a/jsoniter_any_bool_test.go b/jsoniter_any_bool_test.go index f227cb8..f6b09ee 100644 --- a/jsoniter_any_bool_test.go +++ b/jsoniter_any_bool_test.go @@ -44,4 +44,21 @@ func Test_read_bool_as_any(t *testing.T) { should.False(any.ToBool(), fmt.Sprintf("origin val is %v", k)) } } + +} + +func Test_write_bool_to_stream(t *testing.T) { + should := require.New(t) + any := Get([]byte("true")) + stream := NewStream(ConfigDefault, nil, 32) + any.WriteTo(stream) + should.Equal("true", string(stream.Buffer())) + should.Equal(any.ValueType(), Bool) + + any = Get([]byte("false")) + stream = NewStream(ConfigDefault, nil, 32) + any.WriteTo(stream) + should.Equal("false", string(stream.Buffer())) + + should.Equal(any.ValueType(), Bool) } diff --git a/jsoniter_any_int_test.go b/jsoniter_any_int_test.go index 04c8722..0982497 100644 --- a/jsoniter_any_int_test.go +++ b/jsoniter_any_int_test.go @@ -123,6 +123,10 @@ func Test_read_int64_to_any(t *testing.T) { should.Equal(float64(12345), any.ToFloat64()) should.Equal("12345", any.ToString()) should.Equal(true, any.ToBool()) + should.Equal(any.ValueType(), Number) + stream := NewStream(ConfigDefault, nil, 32) + any.WriteTo(stream) + should.Equal("12345", string(stream.Buffer())) } func Test_read_int32_to_any(t *testing.T) { should := require.New(t) @@ -137,6 +141,10 @@ func Test_read_int32_to_any(t *testing.T) { should.Equal(float64(12345), any.ToFloat64()) should.Equal("12345", any.ToString()) should.Equal(true, any.ToBool()) + should.Equal(any.ValueType(), Number) + stream := NewStream(ConfigDefault, nil, 32) + any.WriteTo(stream) + should.Equal("12345", string(stream.Buffer())) } func Test_read_uint32_to_any(t *testing.T) { @@ -153,6 +161,9 @@ func Test_read_uint32_to_any(t *testing.T) { should.Equal("12345", any.ToString()) should.Equal(true, any.ToBool()) should.Equal(any.ValueType(), Number) + stream := NewStream(ConfigDefault, nil, 32) + any.WriteTo(stream) + should.Equal("12345", string(stream.Buffer())) } func Test_read_uint64_to_any(t *testing.T) { @@ -169,6 +180,9 @@ func Test_read_uint64_to_any(t *testing.T) { should.Equal("12345", any.ToString()) should.Equal(true, any.ToBool()) should.Equal(any.ValueType(), Number) + stream := NewStream(ConfigDefault, nil, 32) + any.WriteTo(stream) + should.Equal("12345", string(stream.Buffer())) } func Test_int_lazy_any_get(t *testing.T) { diff --git a/jsoniter_object_test.go b/jsoniter_object_test.go index 9c5e532..c2f9083 100644 --- a/jsoniter_object_test.go +++ b/jsoniter_object_test.go @@ -3,8 +3,9 @@ package jsoniter import ( "bytes" "fmt" - "github.com/json-iterator/go/require" "testing" + + "github.com/json-iterator/go/require" ) func Test_empty_object(t *testing.T) { @@ -381,7 +382,7 @@ func Test_shadow_struct_field(t *testing.T) { should.Contains(output, `"max_age":20`) } -func Test_embeded_order(t *testing.T) { +func Test_embedded_order(t *testing.T) { type A struct { Field2 string } diff --git a/wrap_test.go b/wrap_test.go new file mode 100644 index 0000000..7cc59b5 --- /dev/null +++ b/wrap_test.go @@ -0,0 +1,41 @@ +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) + +}