URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [net/] [http/] [responsewrite_test.go] - Rev 747
Compare with Previous | Blame | View Log
// Copyright 2010 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package httpimport ("bytes""io/ioutil""testing")type respWriteTest struct {Resp ResponseRaw string}var respWriteTests = []respWriteTest{// HTTP/1.0, identity coding; no trailer{Response{StatusCode: 503,ProtoMajor: 1,ProtoMinor: 0,Request: dummyReq("GET"),Header: Header{},Body: ioutil.NopCloser(bytes.NewBufferString("abcdef")),ContentLength: 6,},"HTTP/1.0 503 Service Unavailable\r\n" +"Content-Length: 6\r\n\r\n" +"abcdef",},// Unchunked response without Content-Length.{Response{StatusCode: 200,ProtoMajor: 1,ProtoMinor: 0,Request: dummyReq("GET"),Header: Header{},Body: ioutil.NopCloser(bytes.NewBufferString("abcdef")),ContentLength: -1,},"HTTP/1.0 200 OK\r\n" +"\r\n" +"abcdef",},// HTTP/1.1, chunked coding; empty trailer; close{Response{StatusCode: 200,ProtoMajor: 1,ProtoMinor: 1,Request: dummyReq("GET"),Header: Header{},Body: ioutil.NopCloser(bytes.NewBufferString("abcdef")),ContentLength: 6,TransferEncoding: []string{"chunked"},Close: true,},"HTTP/1.1 200 OK\r\n" +"Connection: close\r\n" +"Transfer-Encoding: chunked\r\n\r\n" +"6\r\nabcdef\r\n0\r\n\r\n",},// Header value with a newline character (Issue 914).// Also tests removal of leading and trailing whitespace.{Response{StatusCode: 204,ProtoMajor: 1,ProtoMinor: 1,Request: dummyReq("GET"),Header: Header{"Foo": []string{" Bar\nBaz "},},Body: nil,ContentLength: 0,TransferEncoding: []string{"chunked"},Close: true,},"HTTP/1.1 204 No Content\r\n" +"Connection: close\r\n" +"Foo: Bar Baz\r\n" +"\r\n",},}func TestResponseWrite(t *testing.T) {for i := range respWriteTests {tt := &respWriteTests[i]var braw bytes.Buffererr := tt.Resp.Write(&braw)if err != nil {t.Errorf("error writing #%d: %s", i, err)continue}sraw := braw.String()if sraw != tt.Raw {t.Errorf("Test %d, expecting:\n%q\nGot:\n%q\n", i, tt.Raw, sraw)continue}}}
