37 lines
815 B
Go
37 lines
815 B
Go
|
package prox5
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestImmutableProto(t *testing.T) {
|
||
|
prt := newImmutableProto()
|
||
|
if prt.Get() != ProtoNull {
|
||
|
t.Fatal("expected protonull")
|
||
|
}
|
||
|
prt.set(ProtoSOCKS5)
|
||
|
if prt.Get() != ProtoSOCKS5 {
|
||
|
t.Fatal("expected socks5 proto")
|
||
|
}
|
||
|
prt.set(ProtoSOCKS4)
|
||
|
if prt.Get() != ProtoSOCKS5 {
|
||
|
t.Fatal("expected socks5 proto still after trying to set twice")
|
||
|
}
|
||
|
str := strs.Get()
|
||
|
defer strs.MustPut(str)
|
||
|
prt.Get().writeProtoString(str)
|
||
|
if str.String() != "socks5" {
|
||
|
t.Fatalf("expected socks5://, got %s", str.String())
|
||
|
}
|
||
|
str.MustReset()
|
||
|
prt.Get().writeProtoURI(str)
|
||
|
if str.String() != "socks5://" {
|
||
|
t.Fatalf("expected socks5://, got %s", str.String())
|
||
|
}
|
||
|
str.MustReset()
|
||
|
ptrstr := prt.Get().String()
|
||
|
if ptrstr != "socks5" {
|
||
|
t.Fatalf("expected socks5://, got %s", ptrstr)
|
||
|
}
|
||
|
}
|