1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package ioutils
- import (
- "bytes"
- "strings"
- "testing"
- )
- func TestWriteCloserWrapperClose(t *testing.T) {
- called := false
- writer := bytes.NewBuffer([]byte{})
- wrapper := NewWriteCloserWrapper(writer, func() error {
- called = true
- return nil
- })
- if err := wrapper.Close(); err != nil {
- t.Fatal(err)
- }
- if !called {
- t.Fatalf("writeCloserWrapper should have call the anonymous function.")
- }
- }
- func TestNopWriteCloser(t *testing.T) {
- writer := bytes.NewBuffer([]byte{})
- wrapper := NopWriteCloser(writer)
- if err := wrapper.Close(); err != nil {
- t.Fatal("NopWriteCloser always return nil on Close.")
- }
- }
- func TestNopWriter(t *testing.T) {
- nw := &NopWriter{}
- l, err := nw.Write([]byte{'c'})
- if err != nil {
- t.Fatal(err)
- }
- if l != 1 {
- t.Fatalf("Expected 1 got %d", l)
- }
- }
- func TestWriteCounter(t *testing.T) {
- dummy1 := "This is a dummy string."
- dummy2 := "This is another dummy string."
- totalLength := int64(len(dummy1) + len(dummy2))
- reader1 := strings.NewReader(dummy1)
- reader2 := strings.NewReader(dummy2)
- var buffer bytes.Buffer
- wc := NewWriteCounter(&buffer)
- reader1.WriteTo(wc)
- reader2.WriteTo(wc)
- if wc.Count != totalLength {
- t.Errorf("Wrong count: %d vs. %d", wc.Count, totalLength)
- }
- if buffer.String() != dummy1+dummy2 {
- t.Error("Wrong message written")
- }
- }
|