/
githubmirror
/
rclone
Обзор
Документация
Войти
/
githubmirror
/
rclone
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
backend/union/errors_test.go
91 строка
1 KB
Nick Craig-Wood
build: update to go1.23rc1 and make go1.21 the minimum required version
20 июл 2024, 12:54
20 июл 2024, 12:54
ca24447
Код
Авторство
О чём код?
package union import ( "errors" "testing" "github.com/stretchr/testify/assert" ) var ( err1 = errors.New("Error 1") err2 = errors.New("Error 2") err3 = errors.New("Error 3") ) func TestErrorsMap(t *testing.T) { es := Errors{ nil, err1, err2, } want := Errors{ err2, } got := es.Map(func(e error) error { if e == err1 { return nil } return e }) assert.Equal(t, want, got) } func TestErrorsFilterNil(t *testing.T) { es := Errors{ nil, err1, nil, err2, nil, } want := Errors{ err1, err2, } got := es.FilterNil() assert.Equal(t, want, got) } func TestErrorsErr(t *testing.T) { // Check not all nil case es := Errors{ nil, err1, nil, err2, nil, } want := Errors{ err1, err2, } got := es.Err() // Check all nil case assert.Equal(t, want, got) es = Errors{ nil, nil, nil, } assert.Nil(t, es.Err()) } func TestErrorsError(t *testing.T) { assert.Equal(t, "no error", Errors{}.Error()) assert.Equal(t, "1 error: Error 1", Errors{err1}.Error()) assert.Equal(t, "1 error: nil error", Errors{nil}.Error()) assert.Equal(t, "2 errors: Error 1; Error 2", Errors{err1, err2}.Error()) } func TestErrorsUnwrap(t *testing.T) { es := Errors{ err1, err2, } assert.Equal(t, []error{err1, err2}, es.Unwrap()) assert.True(t, errors.Is(es, err1)) assert.True(t, errors.Is(es, err2)) assert.False(t, errors.Is(es, err3)) }