...
1 package multierror
2
3 import (
4 "errors"
5 "testing"
6 )
7
8 func TestAppend_Error(t *testing.T) {
9 original := &Error{
10 Errors: []error{errors.New("foo")},
11 }
12
13 result := Append(original, errors.New("bar"))
14 if len(result.Errors) != 2 {
15 t.Fatalf("wrong len: %d", len(result.Errors))
16 }
17
18 original = &Error{}
19 result = Append(original, errors.New("bar"))
20 if len(result.Errors) != 1 {
21 t.Fatalf("wrong len: %d", len(result.Errors))
22 }
23
24
25 var e *Error
26 result = Append(e, errors.New("baz"))
27 if len(result.Errors) != 1 {
28 t.Fatalf("wrong len: %d", len(result.Errors))
29 }
30
31
32 original = &Error{
33 Errors: []error{errors.New("foo")},
34 }
35
36 result = Append(original, Append(nil, errors.New("foo"), errors.New("bar")))
37 if len(result.Errors) != 3 {
38 t.Fatalf("wrong len: %d", len(result.Errors))
39 }
40 }
41
42 func TestAppend_NilError(t *testing.T) {
43 var err error
44 result := Append(err, errors.New("bar"))
45 if len(result.Errors) != 1 {
46 t.Fatalf("wrong len: %d", len(result.Errors))
47 }
48 }
49
50 func TestAppend_NilErrorArg(t *testing.T) {
51 var err error
52 var nilErr *Error
53 result := Append(err, nilErr)
54 if len(result.Errors) != 0 {
55 t.Fatalf("wrong len: %d", len(result.Errors))
56 }
57 }
58
59 func TestAppend_NilErrorIfaceArg(t *testing.T) {
60 var err error
61 var nilErr error
62 result := Append(err, nilErr)
63 if len(result.Errors) != 0 {
64 t.Fatalf("wrong len: %d", len(result.Errors))
65 }
66 }
67
68 func TestAppend_NonError(t *testing.T) {
69 original := errors.New("foo")
70 result := Append(original, errors.New("bar"))
71 if len(result.Errors) != 2 {
72 t.Fatalf("wrong len: %d", len(result.Errors))
73 }
74 }
75
76 func TestAppend_NonError_Error(t *testing.T) {
77 original := errors.New("foo")
78 result := Append(original, Append(nil, errors.New("bar")))
79 if len(result.Errors) != 2 {
80 t.Fatalf("wrong len: %d", len(result.Errors))
81 }
82 }
83
View as plain text