mirror of https://github.com/v2ray/v2ray-core
Darien Raymond
6 years ago
2 changed files with 51 additions and 0 deletions
@ -0,0 +1,50 @@
|
||||
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") |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue