Forráskód Böngészése

more interface test

Darien Raymond 8 éve
szülő
commit
7709ee9b7f

+ 0 - 5
common/buf/reader.go

@@ -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

+ 12 - 0
common/buf/reader_test.go

@@ -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))
+}

+ 3 - 16
common/buf/writer.go

@@ -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)
 )

+ 13 - 0
common/buf/writer_test.go

@@ -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))
+}

+ 1 - 0
transport/internet/kcp/connection_test.go

@@ -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))
 }