1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
package errutil
import (
"errors"
"testing"
)
var (
err1 = errors.New("error 1")
err2 = errors.New("error 2")
err3 = errors.New("error 3")
)
var errorsTests = []struct {
e error
wantString string
}{
{Multi(), ""},
{Multi(errors.New("some error")), "some error"},
{
Multi(err1, err2),
"multiple errors: error 1; error 2",
},
{
Multi(err1, err2, err3),
"multiple errors: error 1; error 2; error 3",
},
{
Multi(err1, Multi(err2, err3)),
"multiple errors: error 1; error 2; error 3",
},
{
Multi(Multi(err1, err2), err3),
"multiple errors: error 1; error 2; error 3",
},
}
func TestErrors(t *testing.T) {
for _, test := range errorsTests {
if test.e == nil {
if test.wantString != "" {
t.Errorf("got nil, want %q", test.wantString)
}
} else {
gotString := test.e.Error()
if gotString != test.wantString {
t.Errorf("got %q, want %q", gotString, test.wantString)
}
}
}
}
|