99)
1010
1111func TestContentType(t *testing.T) {
12+ t.Run("Empty", func(t *testing.T) {
13+ assert.Equal(t, "application/octet-stream", ContentType("", "", "", false))
14+ })
1215 t.Run("Mkv", func(t *testing.T) {
1316 assert.Equal(t, header.ContentTypeMkv, ContentType("", "mkv", "", false))
1417 assert.Equal(t, header.ContentTypeMkv, ContentType(header.ContentTypeMkv, "", "", false))
@@ -17,6 +20,7 @@ func TestContentType(t *testing.T) {
1720 assert.Equal(t, header.ContentTypeMp4, ContentType(header.ContentTypeMov, "", "", false))
1821 })
1922 t.Run("M4v", func(t *testing.T) {
23+ assert.Equal(t, header.ContentTypeMp4, ContentType("", "m4v", "", false))
2024 assert.Equal(t, header.ContentTypeMp4, ContentType(header.ContentTypeM4v, "", "", false))
2125 assert.Equal(t, header.ContentTypeMp4AvcMain, ContentType(header.ContentTypeM4v, "", CodecAvc1, false))
2226 assert.Equal(t, header.ContentTypeMp4AvcHigh10, ContentType(header.ContentTypeM4v, "", CodecAvc1, true))
@@ -54,6 +58,56 @@ func TestContentType(t *testing.T) {
5458 assert.Equal(t, header.ContentTypeMp4HevMain10, ContentType("", "mp4", CodecHev1, false))
5559 assert.Equal(t, header.ContentTypeMp4HevMain10, ContentType("", "mp4", CodecHev1, true))
5660 })
61+ t.Run("Mp4/Vvc", func(t *testing.T) {
62+ assert.Equal(t, header.ContentTypeMp4Vvc, ContentType(header.ContentTypeMp4, "", CodecVvc1, false))
63+ assert.Equal(t, header.ContentTypeMp4Vvc, ContentType(header.ContentTypeMp4, "", CodecVvc1, true))
64+ assert.Equal(t, header.ContentTypeMp4Vvc, ContentType("", "vvc", CodecVvc1, false))
65+ assert.Equal(t, header.ContentTypeMp4Vvc, ContentType("", "vvc", CodecVvc1, true))
66+ })
67+ t.Run("Mp4/Evc", func(t *testing.T) {
68+ assert.Equal(t, header.ContentTypeMp4Evc, ContentType(header.ContentTypeMp4, "", CodecEvc1, false))
69+ assert.Equal(t, header.ContentTypeMp4Evc, ContentType(header.ContentTypeMp4, "", CodecEvc1, true))
70+ assert.Equal(t, header.ContentTypeMp4Evc, ContentType("", "evc", CodecEvc1, false))
71+ assert.Equal(t, header.ContentTypeMp4Evc, ContentType("", "evc", CodecEvc1, true))
72+ })
73+ t.Run("VP8", func(t *testing.T) {
74+ assert.Equal(t, header.ContentTypeWebmVp8, ContentType("", "", CodecVp08, false))
75+ assert.Equal(t, header.ContentTypeWebmVp8, ContentType("", "", CodecVp08, true))
76+ assert.Equal(t, header.ContentTypeWebmVp8, ContentType("", "vp8", "", false))
77+ assert.Equal(t, header.ContentTypeWebmVp8, ContentType("", "vp8", "", true))
78+ })
79+ t.Run("VP9", func(t *testing.T) {
80+ assert.Equal(t, header.ContentTypeWebmVp9Main, ContentType("", "", CodecVp09, false))
81+ assert.Equal(t, header.ContentTypeWebmVp9Main, ContentType("", "", CodecVp09, true))
82+ assert.Equal(t, header.ContentTypeWebmVp9Main, ContentType("", "vp9", "", false))
83+ assert.Equal(t, header.ContentTypeWebmVp9Main, ContentType("", "vp9", "", true))
84+ })
85+ t.Run("Webmm/Av1", func(t *testing.T) {
86+ assert.Equal(t, header.ContentTypeWebmAv1Main10, ContentType("", "webm", CodecAv01, false))
87+ assert.Equal(t, header.ContentTypeWebmAv1Main10, ContentType("", "webm", CodecAv01, true))
88+ })
89+ t.Run("Mp4/Av1", func(t *testing.T) {
90+ assert.Equal(t, header.ContentTypeMp4Av1Main10, ContentType(header.ContentTypeMp4, "mp4", CodecAv01, false))
91+ assert.Equal(t, header.ContentTypeMp4Av1Main10, ContentType(header.ContentTypeMp4, "mp4", CodecAv01, true))
92+ assert.Equal(t, header.ContentTypeMp4Av1Main10, ContentType("", "mp4", CodecAv01, false))
93+ assert.Equal(t, header.ContentTypeMp4Av1Main10, ContentType("", "mp4", CodecAv01, true))
94+ })
95+ t.Run("Mkv/Av1", func(t *testing.T) {
96+ assert.Equal(t, header.ContentTypeMkvAv1Main10, ContentType("", "mkv", CodecAv01, false))
97+ assert.Equal(t, header.ContentTypeMkvAv1Main10, ContentType("", "mkv", CodecAv01, true))
98+ })
99+ t.Run("Av1", func(t *testing.T) {
100+ assert.Equal(t, header.ContentTypeMp4Av1Main10, ContentType("", "av1", "", false))
101+ assert.Equal(t, header.ContentTypeMp4Av1Main10, ContentType("", "av1", "", true))
102+ })
103+ t.Run("Ogg", func(t *testing.T) {
104+ assert.Equal(t, header.ContentTypeOgg, ContentType("", "ogv", "", false))
105+ assert.Equal(t, header.ContentTypeOgg, ContentType("", "ogv", "", true))
106+ })
107+ t.Run("Webm", func(t *testing.T) {
108+ assert.Equal(t, header.ContentTypeWebm, ContentType("", "webm", "", false))
109+ assert.Equal(t, header.ContentTypeWebm, ContentType("", "webm", "", true))
110+ })
57111}
58112
59113func TestCompatible(t *testing.T) {
0 commit comments