github.com/bluenviron/mediacommon@v1.9.3/pkg/formats/mpegts/buffered_reader_test.go (about) 1 package mpegts 2 3 import ( 4 "bytes" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestBufferedReader(t *testing.T) { 11 var buf bytes.Buffer 12 13 buf.Write(bytes.Repeat([]byte{1}, 188)) 14 buf.Write(bytes.Repeat([]byte{2}, 188)) 15 buf.Write(bytes.Repeat([]byte{3}, 188)) 16 17 r := NewBufferedReader(&buf) 18 19 byts := make([]byte, 188) 20 n, err := r.Read(byts) 21 require.NoError(t, err) 22 require.Equal(t, 188, n) 23 require.Equal(t, bytes.Repeat([]byte{1}, 188), byts[:n]) 24 25 require.Equal(t, 0, len(buf.Bytes())) 26 27 byts = make([]byte, 188) 28 n, err = r.Read(byts) 29 require.NoError(t, err) 30 require.Equal(t, 188, n) 31 require.Equal(t, bytes.Repeat([]byte{2}, 188), byts[:n]) 32 } 33 34 func TestBufferedReaderError(t *testing.T) { 35 var buf bytes.Buffer 36 37 buf.Write(bytes.Repeat([]byte{1}, 1000)) 38 39 r := NewBufferedReader(&buf) 40 byts := make([]byte, 188) 41 _, err := r.Read(byts) 42 require.EqualError(t, err, "received packet with size 1000 not multiple of 188") 43 }