...
1 package multierror
2
3 import (
4 "errors"
5 "fmt"
6 "reflect"
7 "testing"
8 )
9
10 func TestFlatten(t *testing.T) {
11 original := &Error{
12 Errors: []error{
13 errors.New("one"),
14 &Error{
15 Errors: []error{
16 errors.New("two"),
17 &Error{
18 Errors: []error{
19 errors.New("three"),
20 },
21 },
22 },
23 },
24 },
25 }
26
27 expected := `3 errors occurred:
28 * one
29 * two
30 * three
31
32 `
33 actual := fmt.Sprintf("%s", Flatten(original))
34
35 if expected != actual {
36 t.Fatalf("expected: %s, got: %s", expected, actual)
37 }
38 }
39
40 func TestFlatten_nonError(t *testing.T) {
41 err := errors.New("foo")
42 actual := Flatten(err)
43 if !reflect.DeepEqual(actual, err) {
44 t.Fatalf("bad: %#v", actual)
45 }
46 }
47
View as plain text