| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | package buf_testimport (	"bufio"	"bytes"	"crypto/rand"	"testing"	"context"	"io"	. "v2ray.com/core/common/buf"	"v2ray.com/core/transport/ray"	. "v2ray.com/ext/assert")func TestWriter(t *testing.T) {	assert := With(t)	lb := New()	assert(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(err, IsNil)	assert(expectedBytes, Equals, writeBuffer.Bytes())}func TestBytesWriterReadFrom(t *testing.T) {	assert := With(t)	cache := ray.NewStream(context.Background())	reader := bufio.NewReader(io.LimitReader(rand.Reader, 8192))	_, err := reader.WriteTo(ToBytesWriter(cache))	assert(err, IsNil)	mb, err := cache.Read()	assert(err, IsNil)	assert(mb.Len(), Equals, 8192)	assert(len(mb), Equals, 4)}
 |