2017-06-06 03:44:56 +02:00
|
|
|
package jsoniter
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/json-iterator/go/require"
|
2017-06-06 17:27:00 +02:00
|
|
|
"testing"
|
2017-06-06 03:44:56 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
func Test_writeByte_should_grow_buffer(t *testing.T) {
|
|
|
|
should := require.New(t)
|
2017-06-17 04:21:37 +02:00
|
|
|
stream := NewStream(ConfigDefault, nil, 1)
|
2017-06-06 03:44:56 +02:00
|
|
|
stream.writeByte('1')
|
|
|
|
should.Equal("1", string(stream.Buffer()))
|
|
|
|
should.Equal(1, len(stream.buf))
|
|
|
|
stream.writeByte('2')
|
|
|
|
should.Equal("12", string(stream.Buffer()))
|
|
|
|
should.Equal(2, len(stream.buf))
|
|
|
|
stream.writeThreeBytes('3', '4', '5')
|
|
|
|
should.Equal("12345", string(stream.Buffer()))
|
|
|
|
}
|
|
|
|
|
|
|
|
func Test_writeBytes_should_grow_buffer(t *testing.T) {
|
|
|
|
should := require.New(t)
|
2017-06-17 04:21:37 +02:00
|
|
|
stream := NewStream(ConfigDefault, nil, 1)
|
2017-06-06 03:44:56 +02:00
|
|
|
stream.Write([]byte{'1', '2'})
|
|
|
|
should.Equal("12", string(stream.Buffer()))
|
|
|
|
should.Equal(3, len(stream.buf))
|
|
|
|
stream.Write([]byte{'3', '4', '5', '6', '7'})
|
|
|
|
should.Equal("1234567", string(stream.Buffer()))
|
|
|
|
should.Equal(8, len(stream.buf))
|
|
|
|
}
|
|
|
|
|
|
|
|
func Test_writeIndention_should_grow_buffer(t *testing.T) {
|
|
|
|
should := require.New(t)
|
2017-06-13 12:49:35 +02:00
|
|
|
stream := NewStream(Config{IndentionStep: 2}.Froze(), nil, 1)
|
2017-06-06 17:27:00 +02:00
|
|
|
stream.WriteVal([]int{1, 2, 3})
|
2017-06-06 03:44:56 +02:00
|
|
|
should.Equal("[\n 1,\n 2,\n 3\n]", string(stream.Buffer()))
|
|
|
|
}
|
|
|
|
|
|
|
|
func Test_writeRaw_should_grow_buffer(t *testing.T) {
|
|
|
|
should := require.New(t)
|
2017-06-17 04:21:37 +02:00
|
|
|
stream := NewStream(ConfigDefault, nil, 1)
|
2017-06-06 03:44:56 +02:00
|
|
|
stream.WriteRaw("123")
|
|
|
|
should.Nil(stream.Error)
|
|
|
|
should.Equal("123", string(stream.Buffer()))
|
|
|
|
}
|
|
|
|
|
|
|
|
func Test_writeString_should_grow_buffer(t *testing.T) {
|
|
|
|
should := require.New(t)
|
2017-06-17 04:21:37 +02:00
|
|
|
stream := NewStream(ConfigDefault, nil, 0)
|
2017-06-06 03:44:56 +02:00
|
|
|
stream.WriteString("123")
|
|
|
|
should.Nil(stream.Error)
|
|
|
|
should.Equal(`"123"`, string(stream.Buffer()))
|
2017-06-06 17:27:00 +02:00
|
|
|
}
|