goadb/util/error_test.go

43 lines
930 B
Go
Raw Normal View History

package util
import (
"errors"
"testing"
"github.com/stretchr/testify/assert"
)
func TestErrorWithCauseChain(t *testing.T) {
err := &Err{
Message: "err1",
Code: AssertionError,
Cause: &Err{
Message: "err2",
Code: AssertionError,
Cause: errors.New("err3"),
},
}
expected := `AssertionError: err1
caused by AssertionError: err2
caused by err3`
assert.Equal(t, expected, ErrorWithCauseChain(err))
}
func TestCombineErrors(t *testing.T) {
assert.NoError(t, CombineErrs("hello", AdbError))
assert.NoError(t, CombineErrs("hello", AdbError, nil, nil))
err1 := errors.New("lulz")
err2 := errors.New("fail")
err := CombineErrs("hello", AdbError, nil, err1, nil)
assert.EqualError(t, err, "lulz")
err = CombineErrs("hello", AdbError, err1, err2)
assert.EqualError(t, err, "AdbError: hello")
assert.Equal(t, `AdbError: hello
caused by 2 errors: [lulz fail]`, ErrorWithCauseChain(err))
}