github.com/bluenviron/mediacommon@v1.9.3/pkg/codecs/mpeg4video/is_valid_config_test.go (about)

     1  package mpeg4video
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  )
     8  
     9  func TestIsValidConfig(t *testing.T) {
    10  	for _, ca := range []struct {
    11  		name string
    12  		byts []byte
    13  	}{
    14  		{
    15  			"a",
    16  			[]byte{
    17  				0x00, 0x00, 0x01, 0xb0, 0x01, 0x00, 0x00, 0x01,
    18  				0xb5, 0x89, 0x13, 0x00, 0x00, 0x01, 0x00, 0x00,
    19  				0x00, 0x01, 0x20, 0x00, 0xc4, 0x8d, 0x88, 0x00,
    20  				0xf5, 0x3c, 0x04, 0x87, 0x14, 0x43, 0x00, 0x00,
    21  				0x01, 0xb2, 0x4c, 0x61, 0x76, 0x63, 0x36, 0x30,
    22  				0x2e, 0x32, 0x33, 0x2e, 0x31, 0x30, 0x30,
    23  			},
    24  		},
    25  		{
    26  			"b",
    27  			[]byte{
    28  				0x00, 0x00, 0x01, 0xb0, 0x01, 0x00, 0x00, 0x01,
    29  				0xb5, 0x89, 0x13, 0x00, 0x00, 0x01, 0x00, 0x00,
    30  				0x00, 0x01, 0x20, 0x00, 0xc4, 0x8d, 0x88, 0x00,
    31  				0xcd, 0x0c, 0x04, 0x24, 0x14, 0x63, 0x00, 0x00,
    32  				0x01, 0xb2, 0x4c, 0x61, 0x76, 0x63, 0x35, 0x32,
    33  				0x2e, 0x35, 0x39, 0x2e, 0x30,
    34  			},
    35  		},
    36  	} {
    37  		t.Run(ca.name, func(t *testing.T) {
    38  			err := IsValidConfig(ca.byts)
    39  			require.NoError(t, err)
    40  		})
    41  	}
    42  }
    43  
    44  func FuzzIsValidConfig(f *testing.F) {
    45  	f.Fuzz(func(_ *testing.T, b []byte) {
    46  		IsValidConfig(b) //nolint:errcheck
    47  	})
    48  }