mediamtx/internal/clienthls/multiaccessbuffer_test.go

40 lines
775 B
Go
Raw Normal View History

2021-04-11 17:05:08 +00:00
package clienthls
import (
"io"
2021-04-11 17:05:08 +00:00
"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})
2021-04-11 17:05:08 +00:00
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)
2021-04-11 17:05:08 +00:00
}