merge_reader_test.go 634 B

123456789101112131415161718192021222324252627282930313233
  1. package buf_test
  2. import (
  3. "testing"
  4. "context"
  5. . "v2ray.com/core/common/buf"
  6. "v2ray.com/core/testing/assert"
  7. "v2ray.com/core/transport/ray"
  8. )
  9. func TestMergingReader(t *testing.T) {
  10. assert := assert.On(t)
  11. stream := ray.NewStream(context.Background())
  12. b1 := New()
  13. b1.AppendBytes('a', 'b', 'c')
  14. stream.Write(NewMultiBufferValue(b1))
  15. b2 := New()
  16. b2.AppendBytes('e', 'f', 'g')
  17. stream.Write(NewMultiBufferValue(b2))
  18. b3 := New()
  19. b3.AppendBytes('h', 'i', 'j')
  20. stream.Write(NewMultiBufferValue(b3))
  21. reader := NewMergingReader(stream)
  22. b, err := reader.Read()
  23. assert.Error(err).IsNil()
  24. assert.Int(b.Len()).Equals(9)
  25. }