jsoniter_stream_test.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package jsoniter
  2. import (
  3. "github.com/json-iterator/go/require"
  4. "testing"
  5. )
  6. func Test_writeByte_should_grow_buffer(t *testing.T) {
  7. should := require.New(t)
  8. stream := NewStream(DEFAULT_CONFIG, nil, 1)
  9. stream.writeByte('1')
  10. should.Equal("1", string(stream.Buffer()))
  11. should.Equal(1, len(stream.buf))
  12. stream.writeByte('2')
  13. should.Equal("12", string(stream.Buffer()))
  14. should.Equal(2, len(stream.buf))
  15. stream.writeThreeBytes('3', '4', '5')
  16. should.Equal("12345", string(stream.Buffer()))
  17. }
  18. func Test_writeBytes_should_grow_buffer(t *testing.T) {
  19. should := require.New(t)
  20. stream := NewStream(DEFAULT_CONFIG, nil, 1)
  21. stream.Write([]byte{'1', '2'})
  22. should.Equal("12", string(stream.Buffer()))
  23. should.Equal(3, len(stream.buf))
  24. stream.Write([]byte{'3', '4', '5', '6', '7'})
  25. should.Equal("1234567", string(stream.Buffer()))
  26. should.Equal(8, len(stream.buf))
  27. }
  28. func Test_writeIndention_should_grow_buffer(t *testing.T) {
  29. should := require.New(t)
  30. newCfg := &Config{IndentionStep: 2}
  31. initConfig(newCfg)
  32. stream := NewStream(newCfg, nil, 1)
  33. stream.WriteVal([]int{1, 2, 3})
  34. should.Equal("[\n 1,\n 2,\n 3\n]", string(stream.Buffer()))
  35. }
  36. func Test_writeRaw_should_grow_buffer(t *testing.T) {
  37. should := require.New(t)
  38. stream := NewStream(DEFAULT_CONFIG, nil, 1)
  39. stream.WriteRaw("123")
  40. should.Nil(stream.Error)
  41. should.Equal("123", string(stream.Buffer()))
  42. }
  43. func Test_writeString_should_grow_buffer(t *testing.T) {
  44. should := require.New(t)
  45. stream := NewStream(DEFAULT_CONFIG, nil, 0)
  46. stream.WriteString("123")
  47. should.Nil(stream.Error)
  48. should.Equal(`"123"`, string(stream.Buffer()))
  49. }