mirror of https://github.com/liamg/aminal.git
55 lines
997 B
Go
55 lines
997 B
Go
package packd
|
|
|
|
import (
|
|
"bytes"
|
|
"io"
|
|
"io/ioutil"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func Test_NewFile(t *testing.T) {
|
|
r := require.New(t)
|
|
|
|
input := "hi"
|
|
f, err := NewFile("foo.txt", strings.NewReader(input))
|
|
r.NoError(err)
|
|
r.NotNil(f)
|
|
r.Equal("foo.txt", f.Name())
|
|
b, err := ioutil.ReadAll(f)
|
|
r.NoError(err)
|
|
r.Equal(input, string(b))
|
|
}
|
|
|
|
func Test_File_Reader(t *testing.T) {
|
|
r := require.New(t)
|
|
|
|
input := "hi"
|
|
f, err := NewFile("foo.txt", strings.NewReader(input))
|
|
r.NoError(err)
|
|
r.Equal(input, f.String())
|
|
|
|
bb := &bytes.Buffer{}
|
|
i, err := io.Copy(bb, f)
|
|
r.NoError(err)
|
|
r.Equal(int64(2), i)
|
|
r.Equal(input, bb.String())
|
|
r.Equal(input, f.String())
|
|
}
|
|
|
|
func Test_File_Writer(t *testing.T) {
|
|
r := require.New(t)
|
|
|
|
input := "hi"
|
|
f, err := NewFile("foo.txt", strings.NewReader(input))
|
|
r.NoError(err)
|
|
r.Equal(input, f.String())
|
|
i, err := io.Copy(f, strings.NewReader("HELLO"))
|
|
r.NoError(err)
|
|
r.Equal(int64(5), i)
|
|
|
|
r.Equal("HELLO", f.String())
|
|
}
|