Files
dolt/enc/blob_codec_test.go
T
Aaron Boodman b33cab2b34 Rename package 'store' to 'chunks'.
This is in preparation for renaming the 'Commit' abstraction to
DataStore. So we will essentially have a 'chunkstore' abstraction
and a 'datastore' abstraction.
2015-06-16 16:19:16 -07:00

42 lines
983 B
Go

package enc
import (
"io/ioutil"
"os"
"testing"
"github.com/attic-labs/noms/chunks"
"github.com/attic-labs/noms/types"
"github.com/stretchr/testify/assert"
)
func TestBlobCodec(t *testing.T) {
assert := assert.New(t)
dir, err := ioutil.TempDir(os.TempDir(), "")
defer os.Remove(dir)
assert.NoError(err)
fs := chunks.NewFileStore(dir, "root")
b1 := types.NewBlob([]byte{})
r1, err := blobEncode(b1, fs)
// echo -n 'b ' | sha1sum
assert.Equal("sha1-e1bc846440ec2fb557a5a271e785cd4c648883fa", r1.String())
b2 := types.NewBlob([]byte("Hello, World!"))
r2, err := blobEncode(b2, fs)
// echo -n 'b Hello, World!' | sha1sum
assert.Equal("sha1-135fe1453330547994b2ce8a1b238adfbd7df87e", r2.String())
reader, err := fs.Get(r1)
assert.NoError(err)
v1, err := blobDecode(reader, fs)
assert.NoError(err)
assert.True(b1.Equals(v1))
reader, err = fs.Get(r2)
assert.NoError(err)
v2, err := blobDecode(reader, fs)
assert.NoError(err)
assert.True(b2.Equals(v2))
}