mediamtx/internal/converterhls/multiaccessbuffer_test.go
2021-04-27 19:29:43 +02:00

39 lines
778 B
Go

package converterhls
import (
"io"
"testing"
"github.com/stretchr/testify/require"
)
func TestMultiAccessBuffer(t *testing.T) {
m := newMultiAccessBuffer()
m.Write([]byte{0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08})
r := m.NewReader()
buf := make([]byte, 4)
n, err := r.Read(buf)
require.NoError(t, err)
require.Equal(t, []byte{0x01, 0x02, 0x03, 0x04}, buf[:n])
buf = make([]byte, 10)
n, err = r.Read(buf)
require.NoError(t, err)
require.Equal(t, []byte{0x05, 0x06, 0x07, 0x08}, buf[:n])
m.Write([]byte{0x09, 0x0a, 0x0b, 0x0c})
m.Close()
buf = make([]byte, 10)
n, err = r.Read(buf)
require.NoError(t, err)
require.Equal(t, []byte{0x09, 0x0a, 0x0b, 0x0c}, buf[:n])
buf = make([]byte, 10)
_, err = r.Read(buf)
require.Equal(t, io.EOF, err)
}