mirror of
https://github.com/XTLS/Xray-core.git
synced 2025-06-09 04:48:40 +00:00
v1.0.0
This commit is contained in:
parent
47d23e9972
commit
c7f7c08ead
711 changed files with 82154 additions and 2 deletions
common/crypto
51
common/crypto/chunk_test.go
Normal file
51
common/crypto/chunk_test.go
Normal file
|
@ -0,0 +1,51 @@
|
|||
package crypto_test
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"io"
|
||||
"testing"
|
||||
|
||||
"github.com/xtls/xray-core/v1/common"
|
||||
"github.com/xtls/xray-core/v1/common/buf"
|
||||
. "github.com/xtls/xray-core/v1/common/crypto"
|
||||
)
|
||||
|
||||
func TestChunkStreamIO(t *testing.T) {
|
||||
cache := bytes.NewBuffer(make([]byte, 0, 8192))
|
||||
|
||||
writer := NewChunkStreamWriter(PlainChunkSizeParser{}, cache)
|
||||
reader := NewChunkStreamReader(PlainChunkSizeParser{}, cache)
|
||||
|
||||
b := buf.New()
|
||||
b.WriteString("abcd")
|
||||
common.Must(writer.WriteMultiBuffer(buf.MultiBuffer{b}))
|
||||
|
||||
b = buf.New()
|
||||
b.WriteString("efg")
|
||||
common.Must(writer.WriteMultiBuffer(buf.MultiBuffer{b}))
|
||||
|
||||
common.Must(writer.WriteMultiBuffer(buf.MultiBuffer{}))
|
||||
|
||||
if cache.Len() != 13 {
|
||||
t.Fatalf("Cache length is %d, want 13", cache.Len())
|
||||
}
|
||||
|
||||
mb, err := reader.ReadMultiBuffer()
|
||||
common.Must(err)
|
||||
|
||||
if s := mb.String(); s != "abcd" {
|
||||
t.Error("content: ", s)
|
||||
}
|
||||
|
||||
mb, err = reader.ReadMultiBuffer()
|
||||
common.Must(err)
|
||||
|
||||
if s := mb.String(); s != "efg" {
|
||||
t.Error("content: ", s)
|
||||
}
|
||||
|
||||
_, err = reader.ReadMultiBuffer()
|
||||
if err != io.EOF {
|
||||
t.Error("error: ", err)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue