| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | package buf_testimport (	"crypto/tls"	"io"	"testing"	. "v2ray.com/core/common/buf"	"v2ray.com/core/common/net"	"v2ray.com/core/testing/servers/tcp")func TestWriterCreation(t *testing.T) {	tcpServer := tcp.Server{}	dest, err := tcpServer.Start()	if err != nil {		t.Fatal("failed to start tcp server: ", err)	}	defer tcpServer.Close()	conn, err := net.Dial("tcp", dest.NetAddr())	if err != nil {		t.Fatal("failed to dial a TCP connection: ", err)	}	defer conn.Close()	{		writer := NewWriter(conn)		if _, ok := writer.(*BufferToBytesWriter); !ok {			t.Fatal("writer is not a BufferToBytesWriter")		}		writer2 := NewWriter(writer.(io.Writer))		if writer2 != writer {			t.Fatal("writer is not reused")		}	}	tlsConn := tls.Client(conn, &tls.Config{		InsecureSkipVerify: true,	})	defer tlsConn.Close()	{		writer := NewWriter(tlsConn)		if _, ok := writer.(*SequentialWriter); !ok {			t.Fatal("writer is not a SequentialWriter")		}	}}
 |