buffer_test.go 864 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package buf_test
  2. import (
  3. "testing"
  4. . "v2ray.com/core/common/buf"
  5. "v2ray.com/core/common/serial"
  6. . "v2ray.com/ext/assert"
  7. )
  8. func TestBufferClear(t *testing.T) {
  9. assert := With(t)
  10. buffer := New()
  11. defer buffer.Release()
  12. payload := "Bytes"
  13. buffer.Write([]byte(payload))
  14. assert(buffer.Len(), Equals, int32(len(payload)))
  15. buffer.Clear()
  16. assert(buffer.Len(), Equals, int32(0))
  17. }
  18. func TestBufferIsEmpty(t *testing.T) {
  19. assert := With(t)
  20. buffer := New()
  21. defer buffer.Release()
  22. assert(buffer.IsEmpty(), IsTrue)
  23. }
  24. func TestBufferString(t *testing.T) {
  25. assert := With(t)
  26. buffer := New()
  27. defer buffer.Release()
  28. assert(buffer.AppendSupplier(serial.WriteString("Test String")), IsNil)
  29. assert(buffer.String(), Equals, "Test String")
  30. }
  31. func BenchmarkNewBuffer(b *testing.B) {
  32. for i := 0; i < b.N; i++ {
  33. buffer := New()
  34. buffer.Release()
  35. }
  36. }