OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [net/] [http/] [filetransport_test.go] - Blame information for rev 747

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 747 jeremybenn
// Copyright 2011 The Go Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style
3
// license that can be found in the LICENSE file.
4
 
5
package http_test
6
 
7
import (
8
        "io/ioutil"
9
        "net/http"
10
        "os"
11
        "path/filepath"
12
        "testing"
13
)
14
 
15
func checker(t *testing.T) func(string, error) {
16
        return func(call string, err error) {
17
                if err == nil {
18
                        return
19
                }
20
                t.Fatalf("%s: %v", call, err)
21
        }
22
}
23
 
24
func TestFileTransport(t *testing.T) {
25
        check := checker(t)
26
 
27
        dname, err := ioutil.TempDir("", "")
28
        check("TempDir", err)
29
        fname := filepath.Join(dname, "foo.txt")
30
        err = ioutil.WriteFile(fname, []byte("Bar"), 0644)
31
        check("WriteFile", err)
32
        defer os.Remove(dname)
33
        defer os.Remove(fname)
34
 
35
        tr := &http.Transport{}
36
        tr.RegisterProtocol("file", http.NewFileTransport(http.Dir(dname)))
37
        c := &http.Client{Transport: tr}
38
 
39
        fooURLs := []string{"file:///foo.txt", "file://../foo.txt"}
40
        for _, urlstr := range fooURLs {
41
                res, err := c.Get(urlstr)
42
                check("Get "+urlstr, err)
43
                if res.StatusCode != 200 {
44
                        t.Errorf("for %s, StatusCode = %d, want 200", urlstr, res.StatusCode)
45
                }
46
                if res.ContentLength != -1 {
47
                        t.Errorf("for %s, ContentLength = %d, want -1", urlstr, res.ContentLength)
48
                }
49
                if res.Body == nil {
50
                        t.Fatalf("for %s, nil Body", urlstr)
51
                }
52
                slurp, err := ioutil.ReadAll(res.Body)
53
                check("ReadAll "+urlstr, err)
54
                if string(slurp) != "Bar" {
55
                        t.Errorf("for %s, got content %q, want %q", urlstr, string(slurp), "Bar")
56
                }
57
        }
58
 
59
        const badURL = "file://../no-exist.txt"
60
        res, err := c.Get(badURL)
61
        check("Get "+badURL, err)
62
        if res.StatusCode != 404 {
63
                t.Errorf("for %s, StatusCode = %d, want 404", badURL, res.StatusCode)
64
        }
65
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.