errors_test.go 965 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package errors_test
  2. import (
  3. "io"
  4. "testing"
  5. . "v2ray.com/core/common/errors"
  6. . "v2ray.com/ext/assert"
  7. )
  8. func TestError(t *testing.T) {
  9. assert := With(t)
  10. err := New("TestError")
  11. assert(GetSeverity(err), Equals, SeverityInfo)
  12. err = New("TestError2").Base(io.EOF)
  13. assert(GetSeverity(err), Equals, SeverityInfo)
  14. err = New("TestError3").Base(io.EOF).AtWarning()
  15. assert(GetSeverity(err), Equals, SeverityWarning)
  16. err = New("TestError4").Base(io.EOF).AtWarning()
  17. err = New("TestError5").Base(err)
  18. assert(GetSeverity(err), Equals, SeverityWarning)
  19. assert(err.Error(), HasSubstring, "EOF")
  20. }
  21. func TestErrorMessage(t *testing.T) {
  22. assert := With(t)
  23. data := []struct {
  24. err error
  25. msg string
  26. }{
  27. {
  28. err: New("a").Base(New("b")).Path("c", "d", "e"),
  29. msg: "c|d|e: a > b",
  30. },
  31. {
  32. err: New("a").Base(New("b").Path("c")).Path("d", "e"),
  33. msg: "d|e: a > c: b",
  34. },
  35. }
  36. for _, d := range data {
  37. assert(d.err.Error(), Equals, d.msg)
  38. }
  39. }