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])

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…