diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-02-03 21:58:02 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-02-03 21:58:02 +0000 |
commit | 0694cef2844753fb80be4f71f7d2eb82eb5ba464 (patch) | |
tree | 2f8da9862a9c1fe0df138917f997b03439c02773 /libgo/go/net/http/request_test.go | |
parent | 397fecd695789eccab667bf771a354df71d843e8 (diff) | |
download | gcc-0694cef2844753fb80be4f71f7d2eb82eb5ba464.tar.gz |
libgo: Update to go1.6rc1.
Reviewed-on: https://go-review.googlesource.com/19200
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233110 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/go/net/http/request_test.go')
-rw-r--r-- | libgo/go/net/http/request_test.go | 38 |
1 files changed, 32 insertions, 6 deletions
diff --git a/libgo/go/net/http/request_test.go b/libgo/go/net/http/request_test.go index 627620c0c41..0ecdf85a563 100644 --- a/libgo/go/net/http/request_test.go +++ b/libgo/go/net/http/request_test.go @@ -13,7 +13,6 @@ import ( "io/ioutil" "mime/multipart" . "net/http" - "net/http/httptest" "net/url" "os" "reflect" @@ -177,9 +176,11 @@ func TestParseMultipartForm(t *testing.T) { } } -func TestRedirect(t *testing.T) { +func TestRedirect_h1(t *testing.T) { testRedirect(t, h1Mode) } +func TestRedirect_h2(t *testing.T) { testRedirect(t, h2Mode) } +func testRedirect(t *testing.T, h2 bool) { defer afterTest(t) - ts := httptest.NewServer(HandlerFunc(func(w ResponseWriter, r *Request) { + cst := newClientServerTest(t, h2, HandlerFunc(func(w ResponseWriter, r *Request) { switch r.URL.Path { case "/": w.Header().Set("Location", "/foo/") @@ -190,10 +191,10 @@ func TestRedirect(t *testing.T) { w.WriteHeader(StatusBadRequest) } })) - defer ts.Close() + defer cst.close() var end = regexp.MustCompile("/foo/$") - r, err := Get(ts.URL) + r, err := cst.c.Get(cst.ts.URL) if err != nil { t.Fatal(err) } @@ -355,6 +356,29 @@ func TestNewRequestHost(t *testing.T) { } } +func TestRequestInvalidMethod(t *testing.T) { + _, err := NewRequest("bad method", "http://foo.com/", nil) + if err == nil { + t.Error("expected error from NewRequest with invalid method") + } + req, err := NewRequest("GET", "http://foo.example/", nil) + if err != nil { + t.Fatal(err) + } + req.Method = "bad method" + _, err = DefaultClient.Do(req) + if err == nil || !strings.Contains(err.Error(), "invalid method") { + t.Errorf("Transport error = %v; want invalid method", err) + } + + req, err = NewRequest("", "http://foo.com/", nil) + if err != nil { + t.Errorf("NewRequest(empty method) = %v; want nil", err) + } else if req.Method != "GET" { + t.Errorf("NewRequest(empty method) has method %q; want GET", req.Method) + } +} + func TestNewRequestContentLength(t *testing.T) { readByte := func(r io.Reader) io.Reader { var b [1]byte @@ -515,10 +539,12 @@ func TestRequestWriteBufferedWriter(t *testing.T) { func TestRequestBadHost(t *testing.T) { got := []string{} - req, err := NewRequest("GET", "http://foo.com with spaces/after", nil) + req, err := NewRequest("GET", "http://foo/after", nil) if err != nil { t.Fatal(err) } + req.Host = "foo.com with spaces" + req.URL.Host = "foo.com with spaces" req.Write(logWrites{t, &got}) want := []string{ "GET /after HTTP/1.1\r\n", |