| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | package alloc_testimport (	"testing"	. "v2ray.com/core/common/alloc"	"v2ray.com/core/testing/assert")func TestBufferClear(t *testing.T) {	assert := assert.On(t)	buffer := NewBuffer().Clear()	defer buffer.Release()	payload := "Bytes"	buffer.Append([]byte(payload))	assert.Int(buffer.Len()).Equals(len(payload))	buffer.Clear()	assert.Int(buffer.Len()).Equals(0)}func TestBufferIsFull(t *testing.T) {	assert := assert.On(t)	buffer := NewBuffer()	defer buffer.Release()	assert.Bool(buffer.IsFull()).IsTrue()	buffer.Clear()	assert.Bool(buffer.IsFull()).IsFalse()}func TestBufferPrepend(t *testing.T) {	assert := assert.On(t)	buffer := NewBuffer().Clear()	defer buffer.Release()	buffer.Append([]byte{'a', 'b', 'c'})	buffer.Prepend([]byte{'x', 'y', 'z'})	assert.Int(buffer.Len()).Equals(6)	assert.Bytes(buffer.Value).Equals([]byte("xyzabc"))	buffer.Prepend([]byte{'u', 'v', 'w'})	assert.Bytes(buffer.Value).Equals([]byte("uvwxyzabc"))}func TestBufferString(t *testing.T) {	assert := assert.On(t)	buffer := NewBuffer().Clear()	defer buffer.Release()	buffer.AppendString("Test String")	assert.String(buffer.String()).Equals("Test String")}func BenchmarkNewBuffer8192(b *testing.B) {	for i := 0; i < b.N; i++ {		buffer := NewBuffer()		buffer.Release()	}}func BenchmarkNewLocalBuffer8192(b *testing.B) {	for i := 0; i < b.N; i++ {		buffer := NewLocalBuffer(8192)		buffer.Release()	}}func BenchmarkNewBuffer2048(b *testing.B) {	for i := 0; i < b.N; i++ {		buffer := NewSmallBuffer()		buffer.Release()	}}func BenchmarkNewLocalBuffer2048(b *testing.B) {	for i := 0; i < b.N; i++ {		buffer := NewLocalBuffer(2048)		buffer.Release()	}}
 |