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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [mime/] [multipart/] [writer_test.go] - Rev 747

Compare with Previous | Blame | View Log

// Copyright 2011 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 multipart

import (
        "bytes"
        "io/ioutil"
        "testing"
)

func TestWriter(t *testing.T) {
        fileContents := []byte("my file contents")

        var b bytes.Buffer
        w := NewWriter(&b)
        {
                part, err := w.CreateFormFile("myfile", "my-file.txt")
                if err != nil {
                        t.Fatalf("CreateFormFile: %v", err)
                }
                part.Write(fileContents)
                err = w.WriteField("key", "val")
                if err != nil {
                        t.Fatalf("WriteField: %v", err)
                }
                part.Write([]byte("val"))
                err = w.Close()
                if err != nil {
                        t.Fatalf("Close: %v", err)
                }
                s := b.String()
                if len(s) == 0 {
                        t.Fatal("String: unexpected empty result")
                }
                if s[0] == '\r' || s[0] == '\n' {
                        t.Fatal("String: unexpected newline")
                }
        }

        r := NewReader(&b, w.Boundary())

        part, err := r.NextPart()
        if err != nil {
                t.Fatalf("part 1: %v", err)
        }
        if g, e := part.FormName(), "myfile"; g != e {
                t.Errorf("part 1: want form name %q, got %q", e, g)
        }
        slurp, err := ioutil.ReadAll(part)
        if err != nil {
                t.Fatalf("part 1: ReadAll: %v", err)
        }
        if e, g := string(fileContents), string(slurp); e != g {
                t.Errorf("part 1: want contents %q, got %q", e, g)
        }

        part, err = r.NextPart()
        if err != nil {
                t.Fatalf("part 2: %v", err)
        }
        if g, e := part.FormName(), "key"; g != e {
                t.Errorf("part 2: want form name %q, got %q", e, g)
        }
        slurp, err = ioutil.ReadAll(part)
        if err != nil {
                t.Fatalf("part 2: ReadAll: %v", err)
        }
        if e, g := "val", string(slurp); e != g {
                t.Errorf("part 2: want contents %q, got %q", e, g)
        }

        part, err = r.NextPart()
        if part != nil || err == nil {
                t.Fatalf("expected end of parts; got %v, %v", part, err)
        }
}

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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