writer_test.go 565 B

1234567891011121314151617181920212223242526
  1. package buf_test
  2. import (
  3. "bytes"
  4. "crypto/rand"
  5. "testing"
  6. . "v2ray.com/core/common/buf"
  7. "v2ray.com/core/testing/assert"
  8. )
  9. func TestWriter(t *testing.T) {
  10. assert := assert.On(t)
  11. lb := New()
  12. assert.Error(lb.AppendSupplier(ReadFrom(rand.Reader))).IsNil()
  13. expectedBytes := append([]byte(nil), lb.Bytes()...)
  14. writeBuffer := bytes.NewBuffer(make([]byte, 0, 1024*1024))
  15. writer := NewWriter(NewBufferedWriter(writeBuffer))
  16. err := writer.Write(NewMultiBufferValue(lb))
  17. assert.Error(err).IsNil()
  18. assert.Bytes(expectedBytes).Equals(writeBuffer.Bytes())
  19. }