mirror of
https://github.com/samber/lo.git
synced 2025-09-26 20:11:13 +08:00
feat: adding ErrorsAs
This commit is contained in:
@@ -361,3 +361,27 @@ func TestTryCatchWithErrorValue(t *testing.T) {
|
||||
})
|
||||
is.False(caught)
|
||||
}
|
||||
|
||||
type internalError struct {
|
||||
foobar string
|
||||
}
|
||||
|
||||
func (e *internalError) Error() string {
|
||||
return fmt.Sprintf("internal error")
|
||||
}
|
||||
|
||||
func TestErrorsAs(t *testing.T) {
|
||||
is := assert.New(t)
|
||||
|
||||
err, ok := ErrorsAs[*internalError](fmt.Errorf("hello world"))
|
||||
is.False(ok)
|
||||
is.Nil(nil, err)
|
||||
|
||||
err, ok = ErrorsAs[*internalError](&internalError{foobar: "foobar"})
|
||||
is.True(ok)
|
||||
is.Equal(&internalError{foobar: "foobar"}, err)
|
||||
|
||||
err, ok = ErrorsAs[*internalError](nil)
|
||||
is.False(ok)
|
||||
is.Nil(nil, err)
|
||||
}
|
||||
|
Reference in New Issue
Block a user