writer_test.go 573 B

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