buffer_test.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package alloc
  2. import (
  3. "testing"
  4. v2testing "github.com/v2ray/v2ray-core/testing"
  5. "github.com/v2ray/v2ray-core/testing/assert"
  6. )
  7. func TestBufferClear(t *testing.T) {
  8. v2testing.Current(t)
  9. buffer := NewBuffer().Clear()
  10. defer buffer.Release()
  11. payload := "Bytes"
  12. buffer.Append([]byte(payload))
  13. assert.Int(buffer.Len()).Equals(len(payload))
  14. buffer.Clear()
  15. assert.Int(buffer.Len()).Equals(0)
  16. }
  17. func TestBufferIsFull(t *testing.T) {
  18. v2testing.Current(t)
  19. buffer := NewBuffer()
  20. defer buffer.Release()
  21. assert.Bool(buffer.IsFull()).IsTrue()
  22. buffer.Clear()
  23. assert.Bool(buffer.IsFull()).IsFalse()
  24. }
  25. func TestBufferPrepend(t *testing.T) {
  26. v2testing.Current(t)
  27. buffer := NewBuffer().Clear()
  28. defer buffer.Release()
  29. buffer.Append([]byte{'a', 'b', 'c'})
  30. buffer.Prepend([]byte{'x', 'y', 'z'})
  31. assert.Int(buffer.Len()).Equals(6)
  32. assert.Bytes(buffer.Value).Equals([]byte("xyzabc"))
  33. buffer.Prepend([]byte{'u', 'v', 'w'})
  34. assert.Bytes(buffer.Value).Equals([]byte("uvwxyzabc"))
  35. }
  36. func TestBufferString(t *testing.T) {
  37. v2testing.Current(t)
  38. buffer := NewBuffer().Clear()
  39. defer buffer.Release()
  40. buffer.AppendString("Test String")
  41. assert.String(buffer).Equals("Test String")
  42. }