]> Cypherpunks repositories - gostls13.git/commitdiff
net/http/httptest: make ResponseRecorder.Result.Status match http.Transport
authorBrad Fitzpatrick <bradfitz@golang.org>
Tue, 23 May 2017 22:35:15 +0000 (22:35 +0000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 23 May 2017 23:10:55 +0000 (23:10 +0000)
Fixes #18438

Change-Id: I9599c1536d5e8bad7662b8ffa19e9b0746e27e60
Reviewed-on: https://go-review.googlesource.com/44000
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/net/http/httptest/recorder.go
src/net/http/httptest/recorder_test.go

index 5f1aa6af479cb45d7d0899081ec1a68cf5dc2c9b..741f076b3631753bf56113568ac0fa3d8b97574e 100644 (file)
@@ -6,6 +6,7 @@ package httptest
 
 import (
        "bytes"
+       "fmt"
        "io/ioutil"
        "net/http"
        "strconv"
@@ -176,7 +177,7 @@ func (rw *ResponseRecorder) Result() *http.Response {
        if res.StatusCode == 0 {
                res.StatusCode = 200
        }
-       res.Status = http.StatusText(res.StatusCode)
+       res.Status = fmt.Sprintf("%03d %s", res.StatusCode, http.StatusText(res.StatusCode))
        if rw.Body != nil {
                res.Body = ioutil.NopCloser(bytes.NewReader(rw.Body.Bytes()))
        }
index 9afba4e556a7345b105cd8d115ac1cda07b30339..a6259ebac71ab81a1786adf86792538bd19c7114 100644 (file)
@@ -23,7 +23,15 @@ func TestRecorder(t *testing.T) {
                        return nil
                }
        }
-       hasResultStatus := func(wantCode int) checkFunc {
+       hasResultStatus := func(want string) checkFunc {
+               return func(rec *ResponseRecorder) error {
+                       if rec.Result().Status != want {
+                               return fmt.Errorf("Result().Status = %q; want %q", rec.Result().Status, want)
+                       }
+                       return nil
+               }
+       }
+       hasResultStatusCode := func(wantCode int) checkFunc {
                return func(rec *ResponseRecorder) error {
                        if rec.Result().StatusCode != wantCode {
                                return fmt.Errorf("Result().StatusCode = %d; want %d", rec.Result().StatusCode, wantCode)
@@ -235,7 +243,8 @@ func TestRecorder(t *testing.T) {
                                hasOldHeader("X-Foo", "1"),
                                hasStatus(0),
                                hasHeader("X-Foo", "1"),
-                               hasResultStatus(200),
+                               hasResultStatus("200 OK"),
+                               hasResultStatusCode(200),
                        ),
                },
                {