1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package jsoniter
- import (
- "bytes"
- "github.com/json-iterator/go/require"
- "testing"
- )
- func Test_read_null(t *testing.T) {
- should := require.New(t)
- iter := ParseString(`null`)
- should.True(iter.ReadNil())
- iter = ParseString(`null`)
- should.Nil(iter.Read())
- iter = ParseString(`null`)
- any, err := UnmarshalAnyFromString(`null`)
- should.Nil(err)
- should.Equal(0, any.ToInt())
- should.Equal(float64(0), any.ToFloat64())
- should.Equal("", any.ToString())
- should.False(any.ToBool())
- }
- func Test_write_null(t *testing.T) {
- should := require.New(t)
- buf := &bytes.Buffer{}
- stream := NewStream(buf, 4096)
- stream.WriteNil()
- stream.Flush()
- should.Nil(stream.Error)
- should.Equal("null", buf.String())
- }
- func Test_encode_null(t *testing.T) {
- should := require.New(t)
- str, err := MarshalToString(nil)
- should.Nil(err)
- should.Equal("null", str)
- }
- func Test_decode_null_object(t *testing.T) {
- should := require.New(t)
- iter := ParseString(`[null,"a"]`)
- iter.ReadArray()
- if iter.ReadObject() != "" {
- t.FailNow()
- }
- iter.ReadArray()
- if iter.ReadString() != "a" {
- t.FailNow()
- }
- type TestObject struct {
- Field string
- }
- objs := []TestObject{}
- should.Nil(UnmarshalFromString("[null]", &objs))
- should.Len(objs, 1)
- }
- func Test_decode_null_array(t *testing.T) {
- iter := ParseString(`[null,"a"]`)
- iter.ReadArray()
- if iter.ReadArray() != false {
- t.FailNow()
- }
- iter.ReadArray()
- if iter.ReadString() != "a" {
- t.FailNow()
- }
- }
- func Test_decode_null_string(t *testing.T) {
- should := require.New(t)
- iter := ParseString(`[null,"a"]`)
- should.True(iter.ReadArray())
- should.Equal("", iter.ReadString())
- should.True(iter.ReadArray())
- should.Equal("a", iter.ReadString())
- }
- func Test_decode_null_skip(t *testing.T) {
- iter := ParseString(`[null,"a"]`)
- iter.ReadArray()
- iter.Skip()
- iter.ReadArray()
- if iter.ReadString() != "a" {
- t.FailNow()
- }
- }
|