mirror of
https://github.com/golang/go
synced 2024-11-23 16:00:06 -07:00
net/http/httptest: ResponseRecorder.WriteString
Fixes #11000 Change-Id: Ic137e8a6c5c6b5b7eee213aca9acf78368e1d686 Reviewed-on: https://go-review.googlesource.com/14296 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
3c37a61455
commit
8c2c35debe
@ -55,6 +55,17 @@ func (rw *ResponseRecorder) Write(buf []byte) (int, error) {
|
||||
return len(buf), nil
|
||||
}
|
||||
|
||||
// WriteString always succeeds and writes to rw.Body, if not nil.
|
||||
func (rw *ResponseRecorder) WriteString(str string) (int, error) {
|
||||
if !rw.wroteHeader {
|
||||
rw.WriteHeader(200)
|
||||
}
|
||||
if rw.Body != nil {
|
||||
rw.Body.WriteString(str)
|
||||
}
|
||||
return len(str), nil
|
||||
}
|
||||
|
||||
// WriteHeader sets rw.Code.
|
||||
func (rw *ResponseRecorder) WriteHeader(code int) {
|
||||
if !rw.wroteHeader {
|
||||
|
@ -6,6 +6,7 @@ package httptest
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
"testing"
|
||||
)
|
||||
@ -67,6 +68,13 @@ func TestRecorder(t *testing.T) {
|
||||
},
|
||||
check(hasStatus(200), hasContents("hi first"), hasFlush(false)),
|
||||
},
|
||||
{
|
||||
"write string",
|
||||
func(w http.ResponseWriter, r *http.Request) {
|
||||
io.WriteString(w, "hi first")
|
||||
},
|
||||
check(hasStatus(200), hasContents("hi first"), hasFlush(false)),
|
||||
},
|
||||
{
|
||||
"flush",
|
||||
func(w http.ResponseWriter, r *http.Request) {
|
||||
|
Loading…
Reference in New Issue
Block a user