|
|
@@ -9,6 +9,7 @@ import (
|
|
|
"context"
|
|
|
"io"
|
|
|
|
|
|
+ "v2ray.com/core/common"
|
|
|
. "v2ray.com/core/common/buf"
|
|
|
"v2ray.com/core/transport/ray"
|
|
|
. "v2ray.com/ext/assert"
|
|
|
@@ -43,3 +44,27 @@ func TestBytesWriterReadFrom(t *testing.T) {
|
|
|
assert(mb.Len(), Equals, 8192)
|
|
|
assert(len(mb), Equals, 4)
|
|
|
}
|
|
|
+
|
|
|
+func TestDiscardBytes(t *testing.T) {
|
|
|
+ assert := With(t)
|
|
|
+
|
|
|
+ b := New()
|
|
|
+ common.Must(b.Reset(ReadFrom(rand.Reader)))
|
|
|
+
|
|
|
+ nBytes, err := io.Copy(DiscardBytes, b)
|
|
|
+ assert(nBytes, Equals, int64(Size))
|
|
|
+ assert(err, IsNil)
|
|
|
+}
|
|
|
+
|
|
|
+func TestDiscardBytesMultiBuffer(t *testing.T) {
|
|
|
+ assert := With(t)
|
|
|
+
|
|
|
+ const size = 10240*1024 + 1
|
|
|
+ buffer := bytes.NewBuffer(make([]byte, 0, size))
|
|
|
+ common.Must2(buffer.ReadFrom(io.LimitReader(rand.Reader, size)))
|
|
|
+
|
|
|
+ r := NewReader(buffer)
|
|
|
+ nBytes, err := io.Copy(DiscardBytes, ToBytesReader(r))
|
|
|
+ assert(nBytes, Equals, int64(size))
|
|
|
+ assert(err, IsNil)
|
|
|
+}
|