multierror_test.go 1000 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package multierror
  2. import (
  3. "errors"
  4. "testing"
  5. "github.com/stretchr/testify/assert"
  6. )
  7. func TestSingleError(t *testing.T) {
  8. var err *Error
  9. err = Append(err, errors.New("error"))
  10. assert.Equal(t, 1, len(err.WrappedErrors()))
  11. }
  12. func TestGoError(t *testing.T) {
  13. var err error
  14. result := Append(err, errors.New("error"))
  15. assert.Equal(t, 1, len(result.WrappedErrors()))
  16. }
  17. func TestMultiError(t *testing.T) {
  18. var err *Error
  19. err = Append(err,
  20. errors.New("first"),
  21. errors.New("second"),
  22. )
  23. assert.Equal(t, 2, len(err.WrappedErrors()))
  24. assert.Equal(t, "Error: first\nError: second", err.Error())
  25. }
  26. func TestUnwrap(t *testing.T) {
  27. var err *Error
  28. assert.Equal(t, nil, errors.Unwrap(err))
  29. err = Append(err, errors.New("first"))
  30. e := errors.Unwrap(err)
  31. assert.Equal(t, "first", e.Error())
  32. }
  33. func TestErrorOrNil(t *testing.T) {
  34. var err *Error
  35. assert.Equal(t, nil, err.ErrorOrNil())
  36. err = Append(err, errors.New("error"))
  37. e := err.ErrorOrNil()
  38. assert.Equal(t, "error", e.Error())
  39. }