mirror of https://github.com/v2ray/v2ray-core
more interface test
parent
b3e6994e52
commit
7709ee9b7f
|
@ -6,11 +6,6 @@ import (
|
|||
"v2ray.com/core/common/errors"
|
||||
)
|
||||
|
||||
var (
|
||||
_ Reader = (*BytesToBufferReader)(nil)
|
||||
_ io.Reader = (*BytesToBufferReader)(nil)
|
||||
)
|
||||
|
||||
// BytesToBufferReader is a Reader that adjusts its reading speed automatically.
|
||||
type BytesToBufferReader struct {
|
||||
io.Reader
|
||||
|
|
|
@ -70,3 +70,15 @@ func TestBytesReaderMultiBuffer(t *testing.T) {
|
|||
assert(mb[0].String(), Equals, "abc")
|
||||
assert(mb[1].String(), Equals, "efg")
|
||||
}
|
||||
|
||||
func TestReaderInterface(t *testing.T) {
|
||||
assert := With(t)
|
||||
|
||||
assert((*BytesToBufferReader)(nil), Implements, (*io.Reader)(nil))
|
||||
assert((*BytesToBufferReader)(nil), Implements, (*Reader)(nil))
|
||||
|
||||
assert((*BufferedReader)(nil), Implements, (*Reader)(nil))
|
||||
assert((*BufferedReader)(nil), Implements, (*io.Reader)(nil))
|
||||
assert((*BufferedReader)(nil), Implements, (*io.ByteReader)(nil))
|
||||
assert((*BufferedReader)(nil), Implements, (*io.WriterTo)(nil))
|
||||
}
|
||||
|
|
|
@ -6,12 +6,6 @@ import (
|
|||
"v2ray.com/core/common/errors"
|
||||
)
|
||||
|
||||
var (
|
||||
_ io.ReaderFrom = (*BufferToBytesWriter)(nil)
|
||||
_ io.Writer = (*BufferToBytesWriter)(nil)
|
||||
_ Writer = (*BufferToBytesWriter)(nil)
|
||||
)
|
||||
|
||||
// BufferToBytesWriter is a Writer that writes alloc.Buffer into underlying writer.
|
||||
type BufferToBytesWriter struct {
|
||||
io.Writer
|
||||
|
@ -39,13 +33,6 @@ func (w *BufferToBytesWriter) ReadFrom(reader io.Reader) (int64, error) {
|
|||
return sc.Size, err
|
||||
}
|
||||
|
||||
var (
|
||||
_ io.ReaderFrom = (*BufferedWriter)(nil)
|
||||
_ io.Writer = (*BufferedWriter)(nil)
|
||||
_ Writer = (*BufferedWriter)(nil)
|
||||
_ io.ByteWriter = (*BufferedWriter)(nil)
|
||||
)
|
||||
|
||||
// BufferedWriter is a Writer with internal buffer.
|
||||
type BufferedWriter struct {
|
||||
writer Writer
|
||||
|
@ -173,7 +160,7 @@ func (w *seqWriter) WriteMultiBuffer(mb MultiBuffer) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
type noOpWriter struct{}
|
||||
type noOpWriter byte
|
||||
|
||||
func (noOpWriter) WriteMultiBuffer(b MultiBuffer) error {
|
||||
b.Release()
|
||||
|
@ -203,8 +190,8 @@ func (noOpWriter) ReadFrom(reader io.Reader) (int64, error) {
|
|||
|
||||
var (
|
||||
// Discard is a Writer that swallows all contents written in.
|
||||
Discard Writer = noOpWriter{}
|
||||
Discard Writer = noOpWriter(0)
|
||||
|
||||
// DiscardBytes is an io.Writer that swallows all contents written in.
|
||||
DiscardBytes io.Writer = noOpWriter{}
|
||||
DiscardBytes io.Writer = noOpWriter(0)
|
||||
)
|
||||
|
|
|
@ -73,3 +73,16 @@ func TestDiscardBytesMultiBuffer(t *testing.T) {
|
|||
assert(nBytes, Equals, int64(size))
|
||||
assert(err, IsNil)
|
||||
}
|
||||
|
||||
func TestWriterInterface(t *testing.T) {
|
||||
assert := With(t)
|
||||
|
||||
assert((*BufferToBytesWriter)(nil), Implements, (*Writer)(nil))
|
||||
assert((*BufferToBytesWriter)(nil), Implements, (*io.Writer)(nil))
|
||||
assert((*BufferToBytesWriter)(nil), Implements, (*io.ReaderFrom)(nil))
|
||||
|
||||
assert((*BufferedWriter)(nil), Implements, (*Writer)(nil))
|
||||
assert((*BufferedWriter)(nil), Implements, (*io.Writer)(nil))
|
||||
assert((*BufferedWriter)(nil), Implements, (*io.ReaderFrom)(nil))
|
||||
assert((*BufferedWriter)(nil), Implements, (*io.ByteWriter)(nil))
|
||||
}
|
||||
|
|
|
@ -38,4 +38,5 @@ func TestConnectionInterface(t *testing.T) {
|
|||
assert((*Connection)(nil), Implements, (*io.Writer)(nil))
|
||||
assert((*Connection)(nil), Implements, (*io.Reader)(nil))
|
||||
assert((*Connection)(nil), Implements, (*buf.Reader)(nil))
|
||||
assert((*Connection)(nil), Implements, (*buf.Writer)(nil))
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue