@@ -14,9 +14,10 @@ import (
14
14
15
15
func TestHTTP (t * testing.T ) {
16
16
type testcase struct {
17
- path []string
18
- v interface {}
19
- err error
17
+ path []string
18
+ v interface {}
19
+ sendErr error
20
+ nextErr error
20
21
}
21
22
22
23
tcs := []testcase {
@@ -31,9 +32,8 @@ func TestHTTP(t *testing.T) {
31
32
},
32
33
},
33
34
{
34
- path : []string {"error" },
35
- v : nil ,
36
- err : errors .New ("an error occurred" ),
35
+ path : []string {"error" },
36
+ sendErr : errors .New ("an error occurred" ),
37
37
},
38
38
}
39
39
@@ -47,38 +47,42 @@ func TestHTTP(t *testing.T) {
47
47
}
48
48
49
49
res , err := c .Send (req )
50
- if err != nil {
51
- t .Fatal (err )
50
+ if tc .sendErr != nil {
51
+ if err == nil {
52
+ t .Fatal ("got nil error, expected:" , tc .sendErr )
53
+ } else if err .Error () != tc .sendErr .Error () {
54
+ t .Fatalf ("got error %q, expected %q" , err , tc .sendErr )
55
+ }
56
+
57
+ return
58
+ } else if err != nil {
59
+ t .Fatal ("unexpected error:" , err )
52
60
}
53
61
54
62
v , err := res .Next ()
55
- if tc .err == nil {
56
- if err != nil {
57
- t .Fatal (err )
58
- }
59
- } else {
63
+ if tc .nextErr != nil {
60
64
if err == nil {
61
- t .Fatal ("got nil error, expected:" , tc .err )
62
- } else if err .Error () != tc .err .Error () {
63
- t .Fatalf ("got error %q, expected %q" , err , tc .err )
65
+ t .Fatal ("got nil error, expected:" , tc .nextErr )
66
+ } else if err .Error () != tc .nextErr .Error () {
67
+ t .Fatalf ("got error %q, expected %q" , err , tc .nextErr )
64
68
}
69
+ } else if err != nil {
70
+ t .Fatal ("unexpected error:" , err )
65
71
}
66
72
67
73
if ! reflect .DeepEqual (v , tc .v ) {
68
74
t .Errorf ("expected value to be %v but got %v" , tc .v , v )
69
75
}
70
76
71
77
_ , err = res .Next ()
72
- if tc .err == nil {
73
- if err != io .EOF {
74
- t .Fatal ("expected io.EOF error, got:" , err )
75
- }
76
- } else {
78
+ if tc .nextErr != nil {
77
79
if err == nil {
78
- t .Fatal ("got nil error, expected:" , tc .err )
79
- } else if err .Error () != tc .err .Error () {
80
- t .Fatalf ("got error %q, expected %q" , err , tc .err )
80
+ t .Fatal ("got nil error, expected:" , tc .nextErr )
81
+ } else if err .Error () != tc .nextErr .Error () {
82
+ t .Fatalf ("got error %q, expected %q" , err , tc .nextErr )
81
83
}
84
+ } else if err != io .EOF {
85
+ t .Fatal ("expected io.EOF error, got:" , err )
82
86
}
83
87
}
84
88
}
0 commit comments