| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | package buf_testimport (	"bufio"	"bytes"	"crypto/rand"	"testing"	"context"	"io"	. "v2ray.com/core/common/buf"	"v2ray.com/core/testing/assert"	"v2ray.com/core/transport/ray")func TestWriter(t *testing.T) {	assert := assert.On(t)	lb := New()	assert.Error(lb.AppendSupplier(ReadFrom(rand.Reader))).IsNil()	expectedBytes := append([]byte(nil), lb.Bytes()...)	writeBuffer := bytes.NewBuffer(make([]byte, 0, 1024*1024))	writer := NewWriter(NewBufferedWriter(writeBuffer))	err := writer.Write(NewMultiBufferValue(lb))	assert.Error(err).IsNil()	assert.Bytes(expectedBytes).Equals(writeBuffer.Bytes())}func TestBytesWriterReadFrom(t *testing.T) {	assert := assert.On(t)	cache := ray.NewStream(context.Background())	reader := bufio.NewReader(io.LimitReader(rand.Reader, 8192))	_, err := reader.WriteTo(ToBytesWriter(cache))	assert.Error(err).IsNil()	mb, err := cache.Read()	assert.Error(err).IsNil()	assert.Int(mb.Len()).Equals(8192)	assert.Int(len(mb)).Equals(4)}
 |