Skip to content

Commit 5dcadf1

Browse files
committed
Tests: Add unit tests photoprism#4820
1 parent e916011 commit 5dcadf1

File tree

2 files changed

+148
-0
lines changed

2 files changed

+148
-0
lines changed

pkg/clean/content_type_test.go

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
package clean
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/assert"
7+
)
8+
9+
func TestContentType(t *testing.T) {
10+
t.Run("Empty", func(t *testing.T) {
11+
result := ContentType("")
12+
assert.Equal(t, "application/octet-stream", result)
13+
})
14+
t.Run("Mov", func(t *testing.T) {
15+
result := ContentType("video/quicktime")
16+
assert.Equal(t, "video/mp4", result)
17+
})
18+
t.Run("Mp4", func(t *testing.T) {
19+
result := ContentType("video/x-m4v")
20+
assert.Equal(t, "video/mp4", result)
21+
})
22+
t.Run("Invalid", func(t *testing.T) {
23+
result := ContentType("invalid")
24+
assert.Equal(t, "invalid", result)
25+
})
26+
t.Run("Json", func(t *testing.T) {
27+
result := ContentType("text/json")
28+
assert.Equal(t, "application/json; charset=utf-8", result)
29+
})
30+
t.Run("Html", func(t *testing.T) {
31+
result := ContentType("text/html")
32+
assert.Equal(t, "text/html; charset=utf-8", result)
33+
})
34+
t.Run("Text", func(t *testing.T) {
35+
result := ContentType("text/plain")
36+
assert.Equal(t, "text/plain; charset=utf-8", result)
37+
})
38+
t.Run("Pdf", func(t *testing.T) {
39+
result := ContentType("text/pdf")
40+
assert.Equal(t, "application/pdf", result)
41+
})
42+
t.Run("Svg", func(t *testing.T) {
43+
result := ContentType("image/svg")
44+
assert.Equal(t, "image/svg+xml", result)
45+
})
46+
t.Run("Jpeg", func(t *testing.T) {
47+
result := ContentType("image/jpg")
48+
assert.Equal(t, "image/jpeg", result)
49+
})
50+
t.Run("Mp4Avc", func(t *testing.T) {
51+
result := ContentType("video/mp4; codecs=\"avc1\"")
52+
assert.Equal(t, "video/mp4; codecs=\"avc1.4d0028\"", result)
53+
})
54+
t.Run("Mp4Avc3", func(t *testing.T) {
55+
result := ContentType("video/mp4; codecs=\"avc3\"")
56+
assert.Equal(t, "video/mp4; codecs=\"avc3.4d0028\"", result)
57+
})
58+
t.Run("Mp4Hvc", func(t *testing.T) {
59+
result := ContentType("video/mp4; codecs=\"hvc\"")
60+
assert.Equal(t, "video/mp4; codecs=\"hvc1.2.4.L153.B0\"", result)
61+
})
62+
t.Run("Mp4Hev", func(t *testing.T) {
63+
result := ContentType("video/mp4; codecs=\"hev\"")
64+
assert.Equal(t, "video/mp4; codecs=\"hev1.2.4.L153.B0\"", result)
65+
})
66+
t.Run("Webm", func(t *testing.T) {
67+
result := ContentType("video/webm; codecs=\"vp08\"")
68+
assert.Equal(t, "video/webm; codecs=\"vp8\"", result)
69+
})
70+
t.Run("WebmVp9", func(t *testing.T) {
71+
result := ContentType("video/webm; codecs=\"vp9\"")
72+
assert.Equal(t, "video/webm; codecs=\"vp09.00.10.08\"", result)
73+
})
74+
t.Run("Av1", func(t *testing.T) {
75+
result := ContentType("video/av1")
76+
assert.Equal(t, "video/mp4; codecs=\"av01.0.08H.10\"", result)
77+
})
78+
t.Run("WebmAv1", func(t *testing.T) {
79+
result := ContentType("video/webm; codecs=\"av1\"")
80+
assert.Equal(t, "video/webm; codecs=\"av01.0.08H.10\"", result)
81+
})
82+
t.Run("MkvAv1", func(t *testing.T) {
83+
result := ContentType("video/matroska; codecs=\"av1\"")
84+
assert.Equal(t, "video/matroska; codecs=\"av01.0.08H.10\"", result)
85+
})
86+
t.Run("Ogg", func(t *testing.T) {
87+
result := ContentType("video/ogg; codecs=\"vorbis\"")
88+
assert.Equal(t, "video/ogg", result)
89+
})
90+
t.Run("Ú", func(t *testing.T) {
91+
result := ContentType("Ú")
92+
assert.Equal(t, "application/octet-stream", result)
93+
})
94+
}

pkg/media/video/content_type_test.go

+54
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ import (
99
)
1010

1111
func 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

59113
func TestCompatible(t *testing.T) {

0 commit comments

Comments
 (0)