direct_test.go 743 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package ray_test
  2. import (
  3. "io"
  4. "testing"
  5. "v2ray.com/core/common/buf"
  6. "v2ray.com/core/testing/assert"
  7. . "v2ray.com/core/transport/ray"
  8. )
  9. func TestStreamIO(t *testing.T) {
  10. assert := assert.On(t)
  11. stream := NewStream()
  12. assert.Error(stream.Write(buf.New())).IsNil()
  13. _, err := stream.Read()
  14. assert.Error(err).IsNil()
  15. stream.Close()
  16. _, err = stream.Read()
  17. assert.Error(err).Equals(io.EOF)
  18. err = stream.Write(buf.New())
  19. assert.Error(err).Equals(io.ErrClosedPipe)
  20. }
  21. func TestStreamClose(t *testing.T) {
  22. assert := assert.On(t)
  23. stream := NewStream()
  24. assert.Error(stream.Write(buf.New())).IsNil()
  25. stream.Close()
  26. _, err := stream.Read()
  27. assert.Error(err).IsNil()
  28. _, err = stream.Read()
  29. assert.Error(err).Equals(io.EOF)
  30. }