Tests: Add unit tests #4820

This commit is contained in:
graciousgrey 2025-02-27 17:24:45 +01:00
parent e9160117a3
commit 5dcadf1028
2 changed files with 148 additions and 0 deletions

View file

@ -0,0 +1,94 @@
package clean
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestContentType(t *testing.T) {
t.Run("Empty", func(t *testing.T) {
result := ContentType("")
assert.Equal(t, "application/octet-stream", result)
})
t.Run("Mov", func(t *testing.T) {
result := ContentType("video/quicktime")
assert.Equal(t, "video/mp4", result)
})
t.Run("Mp4", func(t *testing.T) {
result := ContentType("video/x-m4v")
assert.Equal(t, "video/mp4", result)
})
t.Run("Invalid", func(t *testing.T) {
result := ContentType("invalid")
assert.Equal(t, "invalid", result)
})
t.Run("Json", func(t *testing.T) {
result := ContentType("text/json")
assert.Equal(t, "application/json; charset=utf-8", result)
})
t.Run("Html", func(t *testing.T) {
result := ContentType("text/html")
assert.Equal(t, "text/html; charset=utf-8", result)
})
t.Run("Text", func(t *testing.T) {
result := ContentType("text/plain")
assert.Equal(t, "text/plain; charset=utf-8", result)
})
t.Run("Pdf", func(t *testing.T) {
result := ContentType("text/pdf")
assert.Equal(t, "application/pdf", result)
})
t.Run("Svg", func(t *testing.T) {
result := ContentType("image/svg")
assert.Equal(t, "image/svg+xml", result)
})
t.Run("Jpeg", func(t *testing.T) {
result := ContentType("image/jpg")
assert.Equal(t, "image/jpeg", result)
})
t.Run("Mp4Avc", func(t *testing.T) {
result := ContentType("video/mp4; codecs=\"avc1\"")
assert.Equal(t, "video/mp4; codecs=\"avc1.4d0028\"", result)
})
t.Run("Mp4Avc3", func(t *testing.T) {
result := ContentType("video/mp4; codecs=\"avc3\"")
assert.Equal(t, "video/mp4; codecs=\"avc3.4d0028\"", result)
})
t.Run("Mp4Hvc", func(t *testing.T) {
result := ContentType("video/mp4; codecs=\"hvc\"")
assert.Equal(t, "video/mp4; codecs=\"hvc1.2.4.L153.B0\"", result)
})
t.Run("Mp4Hev", func(t *testing.T) {
result := ContentType("video/mp4; codecs=\"hev\"")
assert.Equal(t, "video/mp4; codecs=\"hev1.2.4.L153.B0\"", result)
})
t.Run("Webm", func(t *testing.T) {
result := ContentType("video/webm; codecs=\"vp08\"")
assert.Equal(t, "video/webm; codecs=\"vp8\"", result)
})
t.Run("WebmVp9", func(t *testing.T) {
result := ContentType("video/webm; codecs=\"vp9\"")
assert.Equal(t, "video/webm; codecs=\"vp09.00.10.08\"", result)
})
t.Run("Av1", func(t *testing.T) {
result := ContentType("video/av1")
assert.Equal(t, "video/mp4; codecs=\"av01.0.08H.10\"", result)
})
t.Run("WebmAv1", func(t *testing.T) {
result := ContentType("video/webm; codecs=\"av1\"")
assert.Equal(t, "video/webm; codecs=\"av01.0.08H.10\"", result)
})
t.Run("MkvAv1", func(t *testing.T) {
result := ContentType("video/matroska; codecs=\"av1\"")
assert.Equal(t, "video/matroska; codecs=\"av01.0.08H.10\"", result)
})
t.Run("Ogg", func(t *testing.T) {
result := ContentType("video/ogg; codecs=\"vorbis\"")
assert.Equal(t, "video/ogg", result)
})
t.Run("Ú", func(t *testing.T) {
result := ContentType("Ú")
assert.Equal(t, "application/octet-stream", result)
})
}

View file

@ -9,6 +9,9 @@ import (
)
func TestContentType(t *testing.T) {
t.Run("Empty", func(t *testing.T) {
assert.Equal(t, "application/octet-stream", ContentType("", "", "", false))
})
t.Run("Mkv", func(t *testing.T) {
assert.Equal(t, header.ContentTypeMkv, ContentType("", "mkv", "", false))
assert.Equal(t, header.ContentTypeMkv, ContentType(header.ContentTypeMkv, "", "", false))
@ -17,6 +20,7 @@ func TestContentType(t *testing.T) {
assert.Equal(t, header.ContentTypeMp4, ContentType(header.ContentTypeMov, "", "", false))
})
t.Run("M4v", func(t *testing.T) {
assert.Equal(t, header.ContentTypeMp4, ContentType("", "m4v", "", false))
assert.Equal(t, header.ContentTypeMp4, ContentType(header.ContentTypeM4v, "", "", false))
assert.Equal(t, header.ContentTypeMp4AvcMain, ContentType(header.ContentTypeM4v, "", CodecAvc1, false))
assert.Equal(t, header.ContentTypeMp4AvcHigh10, ContentType(header.ContentTypeM4v, "", CodecAvc1, true))
@ -54,6 +58,56 @@ func TestContentType(t *testing.T) {
assert.Equal(t, header.ContentTypeMp4HevMain10, ContentType("", "mp4", CodecHev1, false))
assert.Equal(t, header.ContentTypeMp4HevMain10, ContentType("", "mp4", CodecHev1, true))
})
t.Run("Mp4/Vvc", func(t *testing.T) {
assert.Equal(t, header.ContentTypeMp4Vvc, ContentType(header.ContentTypeMp4, "", CodecVvc1, false))
assert.Equal(t, header.ContentTypeMp4Vvc, ContentType(header.ContentTypeMp4, "", CodecVvc1, true))
assert.Equal(t, header.ContentTypeMp4Vvc, ContentType("", "vvc", CodecVvc1, false))
assert.Equal(t, header.ContentTypeMp4Vvc, ContentType("", "vvc", CodecVvc1, true))
})
t.Run("Mp4/Evc", func(t *testing.T) {
assert.Equal(t, header.ContentTypeMp4Evc, ContentType(header.ContentTypeMp4, "", CodecEvc1, false))
assert.Equal(t, header.ContentTypeMp4Evc, ContentType(header.ContentTypeMp4, "", CodecEvc1, true))
assert.Equal(t, header.ContentTypeMp4Evc, ContentType("", "evc", CodecEvc1, false))
assert.Equal(t, header.ContentTypeMp4Evc, ContentType("", "evc", CodecEvc1, true))
})
t.Run("VP8", func(t *testing.T) {
assert.Equal(t, header.ContentTypeWebmVp8, ContentType("", "", CodecVp08, false))
assert.Equal(t, header.ContentTypeWebmVp8, ContentType("", "", CodecVp08, true))
assert.Equal(t, header.ContentTypeWebmVp8, ContentType("", "vp8", "", false))
assert.Equal(t, header.ContentTypeWebmVp8, ContentType("", "vp8", "", true))
})
t.Run("VP9", func(t *testing.T) {
assert.Equal(t, header.ContentTypeWebmVp9Main, ContentType("", "", CodecVp09, false))
assert.Equal(t, header.ContentTypeWebmVp9Main, ContentType("", "", CodecVp09, true))
assert.Equal(t, header.ContentTypeWebmVp9Main, ContentType("", "vp9", "", false))
assert.Equal(t, header.ContentTypeWebmVp9Main, ContentType("", "vp9", "", true))
})
t.Run("Webmm/Av1", func(t *testing.T) {
assert.Equal(t, header.ContentTypeWebmAv1Main10, ContentType("", "webm", CodecAv01, false))
assert.Equal(t, header.ContentTypeWebmAv1Main10, ContentType("", "webm", CodecAv01, true))
})
t.Run("Mp4/Av1", func(t *testing.T) {
assert.Equal(t, header.ContentTypeMp4Av1Main10, ContentType(header.ContentTypeMp4, "mp4", CodecAv01, false))
assert.Equal(t, header.ContentTypeMp4Av1Main10, ContentType(header.ContentTypeMp4, "mp4", CodecAv01, true))
assert.Equal(t, header.ContentTypeMp4Av1Main10, ContentType("", "mp4", CodecAv01, false))
assert.Equal(t, header.ContentTypeMp4Av1Main10, ContentType("", "mp4", CodecAv01, true))
})
t.Run("Mkv/Av1", func(t *testing.T) {
assert.Equal(t, header.ContentTypeMkvAv1Main10, ContentType("", "mkv", CodecAv01, false))
assert.Equal(t, header.ContentTypeMkvAv1Main10, ContentType("", "mkv", CodecAv01, true))
})
t.Run("Av1", func(t *testing.T) {
assert.Equal(t, header.ContentTypeMp4Av1Main10, ContentType("", "av1", "", false))
assert.Equal(t, header.ContentTypeMp4Av1Main10, ContentType("", "av1", "", true))
})
t.Run("Ogg", func(t *testing.T) {
assert.Equal(t, header.ContentTypeOgg, ContentType("", "ogv", "", false))
assert.Equal(t, header.ContentTypeOgg, ContentType("", "ogv", "", true))
})
t.Run("Webm", func(t *testing.T) {
assert.Equal(t, header.ContentTypeWebm, ContentType("", "webm", "", false))
assert.Equal(t, header.ContentTypeWebm, ContentType("", "webm", "", true))
})
}
func TestCompatible(t *testing.T) {