multi_buffer_test.go 622 B

1234567891011121314151617181920212223242526272829303132333435
  1. package buf_test
  2. import (
  3. "testing"
  4. . "v2ray.com/core/common/buf"
  5. "v2ray.com/core/testing/assert"
  6. )
  7. func TestMultiBufferRead(t *testing.T) {
  8. assert := assert.On(t)
  9. b1 := New()
  10. b1.AppendBytes('a', 'b')
  11. b2 := New()
  12. b2.AppendBytes('c', 'd')
  13. mb := NewMultiBufferValue(b1, b2)
  14. bs := make([]byte, 32)
  15. nBytes, err := mb.Read(bs)
  16. assert.Error(err).IsNil()
  17. assert.Int(nBytes).Equals(4)
  18. assert.Bytes(bs[:nBytes]).Equals([]byte("abcd"))
  19. }
  20. func TestMultiBufferAppend(t *testing.T) {
  21. assert := assert.On(t)
  22. var mb MultiBuffer
  23. b := New()
  24. b.AppendBytes('a', 'b')
  25. mb.Append(b)
  26. assert.Int(mb.Len()).Equals(2)
  27. }