INNER CODE UNIT · Go
TestBlobFanoutNewReadSeeker_UsesAsyncOnSharedNonSeekableSource
cshum/imagor · blob_test.go:344
func TestBlobFanoutNewReadSeeker_UsesAsyncOnSharedNonSeekableSource(t *testing.T) {
payload := bytes.Repeat([]byte("fanout-async-"), 64)
var sourceCalls atomic.Int32
b := NewBlob(func() (io.ReadCloser, int64, error) {
sourceCalls.Add(1)
return nopReadCloser{Reader: bytes.NewReader(payload)}, int64(len(payload)), nil
})
b.setFanout(true)
r, size, err := b.NewReader()
require.NoError(t, err)
defer r.Close()
assert.Equal(t, int64(len(payload)), size)
head := make([]byte, 17)
n, err := io.ReadFull(r, head)
require.NoError(t, err)
assert.Equal(t, payload[:n], head[:n])