| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | 
							- package buf_test
 
- import (
 
- 	"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")
 
- 		}
 
- 	}
 
- }
 
 
  |