コード例 #1
0
ファイル: builder_test.go プロジェクト: chundonglinlin/rtmp
func TestNewReturnsNewBuilder(t *testing.T) {
	h := &chunk.Header{}
	b := chunk.NewBuilder(h)

	assert.IsType(t, &chunk.Builder{}, b)
	assert.Equal(t, h, b.Header)
}
コード例 #2
0
ファイル: builder_test.go プロジェクト: chundonglinlin/rtmp
func TestAppendAddsSingleSliceWithinBounds(t *testing.T) {
	b := chunk.NewBuilder(&chunk.Header{
		MessageHeader: chunk.MessageHeader{Length: 8},
	})
	slice := []byte{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07}

	n, err := b.Append(slice)

	assert.Nil(t, err)
	assert.Equal(t, 8, n)
	assert.Equal(t, slice, b.Payloads[0])
}
コード例 #3
0
ファイル: builder_test.go プロジェクト: chundonglinlin/rtmp
func TestReadDoesNotAppendFailedReads(t *testing.T) {
	slice := []byte{}
	builder := chunk.NewBuilder(&chunk.Header{
		MessageHeader: chunk.MessageHeader{Length: 8},
	})

	n, err := builder.Read(bytes.NewBuffer(slice), 8)

	assert.Equal(t, io.EOF, err)
	assert.Equal(t, 0, n)
	assert.Empty(t, builder.Payloads)
}
コード例 #4
0
ファイル: builder_test.go プロジェクト: chundonglinlin/rtmp
func TestReadAppendsBytes(t *testing.T) {
	slice := []byte{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07}
	builder := chunk.NewBuilder(&chunk.Header{
		MessageHeader: chunk.MessageHeader{Length: 8},
	})

	n, err := builder.Read(bytes.NewBuffer(slice), 8)

	assert.Nil(t, err)
	assert.Equal(t, 8, n)
	assert.Equal(t, slice, builder.Payloads[0])
}
コード例 #5
0
ファイル: builder_test.go プロジェクト: chundonglinlin/rtmp
func TestAppendAddsNSliceWithinBounds(t *testing.T) {
	b := chunk.NewBuilder(&chunk.Header{
		MessageHeader: chunk.MessageHeader{Length: 8},
	})

	for i, slice := range [][]byte{
		[]byte{0x00, 0x01, 0x02, 0x03},
		[]byte{0x04, 0x05, 0x06, 0x07},
	} {
		n, err := b.Append(slice)

		assert.Nil(t, err)
		assert.Equal(t, len(slice), n)
		assert.Equal(t, slice, b.Payloads[i])
	}

	assert.Equal(t, 2, len(b.Payloads))
}