mfer/mfer/example_test.go

43 lines
672 B
Go
Raw Normal View History

2022-12-06 13:43:07 +00:00
package mfer
import (
"bytes"
"testing"
2022-12-06 16:42:26 +00:00
"git.eeqj.de/sneak/mfer/internal/log"
2022-12-06 13:43:07 +00:00
"github.com/stretchr/testify/assert"
)
func TestAPIExample(t *testing.T) {
2022-12-06 16:42:26 +00:00
// read from filesystem
2022-12-06 13:43:07 +00:00
m, err := NewFromFS(&ManifestScanOptions{
IgnoreDotfiles: true,
2022-12-06 16:42:26 +00:00
}, big)
assert.Nil(t, err)
assert.NotNil(t, m)
// scan for files
2022-12-06 13:43:07 +00:00
m.Scan()
2022-12-06 16:42:26 +00:00
// serialize
2022-12-06 13:43:07 +00:00
var buf bytes.Buffer
m.WriteTo(&buf)
2022-12-06 16:42:26 +00:00
// show serialized
log.Dump(buf.Bytes())
// do it again
var buf2 bytes.Buffer
m.WriteTo(&buf2)
// should be same!
assert.True(t, bytes.Equal(buf.Bytes(), buf2.Bytes()))
// deserialize
m2, err := NewFromProto(&buf)
assert.Nil(t, err)
assert.NotNil(t, m2)
log.Dump(m2)
2022-12-06 13:43:07 +00:00
}