Skip to content

Commit 23cf64d

Browse files
committed
simplified lookup test
1 parent 20af3e6 commit 23cf64d

File tree

1 file changed

+56
-87
lines changed

1 file changed

+56
-87
lines changed

mime/lookup_test.go

Lines changed: 56 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -9,113 +9,82 @@ import (
99
/*
1010
Lookup by file extension
1111
*/
12-
func TestUnitLookupByFileExtensionApplication(t *testing.T) {
13-
result, err := mime.LookupByFileExtension(mime.EXTENSION_JSON, mime.ROOT_TYPE_APPLICATION)
1412

15-
if err != nil {
16-
t.Fatal(err)
17-
}
18-
19-
expectedResult := "application/json"
20-
if result != expectedResult {
21-
t.Fatalf("an incorrect MIME type was returned: expected '%s' and received '%s'", expectedResult, result)
22-
}
23-
}
24-
25-
func TestUnitLookupByFileExtensionAudio(t *testing.T) {
26-
result, err := mime.LookupByFileExtension(mime.EXTENSION_AAC, mime.ROOT_TYPE_AUDIO)
27-
28-
if err != nil {
29-
t.Fatal(err)
30-
}
31-
32-
expectedResult := "audio/aac"
33-
if result != expectedResult {
34-
t.Fatalf("an incorrect MIME type was returned: expected '%s' and received '%s'", expectedResult, result)
35-
}
36-
}
37-
38-
func TestUnitLookupByFileExtensionFont(t *testing.T) {
39-
result, err := mime.LookupByFileExtension(mime.EXTENSION_TTF, mime.ROOT_TYPE_FONT)
40-
41-
if err != nil {
42-
t.Fatal(err)
43-
}
44-
45-
expectedResult := "font/ttf"
46-
if result != expectedResult {
47-
t.Fatalf("an incorrect MIME type was returned: expected '%s' and received '%s'", expectedResult, result)
48-
}
49-
}
50-
51-
func TestUnitLookupByFileExtensionImage(t *testing.T) {
52-
result, err := mime.LookupByFileExtension(mime.EXTENSION_JPEG, mime.ROOT_TYPE_IMAGE)
53-
54-
if err != nil {
55-
t.Fatal(err)
56-
}
57-
58-
expectedResult := "image/jpeg"
59-
if result != expectedResult {
60-
t.Fatalf("an incorrect MIME type was returned: expected '%s' and received '%s'", expectedResult, result)
61-
}
62-
}
63-
64-
func TestUnitLookupByFileExtensionText(t *testing.T) {
65-
result, err := mime.LookupByFileExtension(mime.EXTENSION_CSV, mime.ROOT_TYPE_TEXT)
66-
67-
if err != nil {
68-
t.Fatal(err)
69-
}
70-
71-
expectedResult := "text/csv"
72-
if result != expectedResult {
73-
t.Fatalf("an incorrect MIME type was returned: expected '%s' and received '%s'", expectedResult, result)
13+
func TestUnitLookupByFileExtension(t *testing.T) {
14+
for _, rootType := range mime.RootTypes {
15+
var fe []mime.FileExtension
16+
switch rootType {
17+
case mime.ROOT_TYPE_APPLICATION:
18+
fe = mime.ApplicationFileExtensions
19+
case mime.ROOT_TYPE_AUDIO:
20+
fe = mime.AudioFileExtensions
21+
case mime.ROOT_TYPE_FONT:
22+
fe = mime.FontFileExtensions
23+
case mime.ROOT_TYPE_IMAGE:
24+
fe = mime.ImageFileExtensions
25+
case mime.ROOT_TYPE_MULTIPART:
26+
fe = mime.MultipartFileExtensions
27+
case mime.ROOT_TYPE_TEXT:
28+
fe = mime.TextFileExtensions
29+
case mime.ROOT_TYPE_VIDEO:
30+
fe = mime.VideoFileExtensions
31+
}
32+
33+
for _, extension := range fe {
34+
result, err := mime.LookupByFileExtension(extension, rootType)
35+
36+
if err != nil {
37+
t.Fatal(err)
38+
}
39+
40+
if result == "" {
41+
t.Fatalf("no MIME type was returned for extension '%s'", extension)
42+
}
43+
}
7444
}
7545
}
7646

77-
func TestUnitLookupByFileExtensionVideo(t *testing.T) {
78-
result, err := mime.LookupByFileExtension(mime.EXTENSION_MP4, mime.ROOT_TYPE_VIDEO)
79-
80-
if err != nil {
81-
t.Fatal(err)
82-
}
83-
84-
expectedResult := "video/mp4"
85-
if result != expectedResult {
86-
t.Fatalf("an incorrect MIME type was returned: expected '%s' and received '%s'", expectedResult, result)
87-
}
88-
}
89-
90-
func TestUnitLookupByFileExtensionInvalidExtension(t *testing.T) {
91-
_, err := mime.LookupByFileExtension(mime.FileExtension(".test"), mime.ROOT_TYPE_TEXT)
47+
func TestUnitLookupByFileExtensionInvalidRootType(t *testing.T) {
48+
invalidRootType := mime.RootType("test")
49+
_, err := mime.LookupByFileExtension(mime.EXTENSION_3G2, invalidRootType)
9250

9351
if err == nil {
94-
t.Fatal("test did not recognize the invalid file extension")
52+
t.Fatal("test did not recognize invalid root type")
9553
}
9654
}
9755

98-
func TestUnitLookupByFileExtensionInvalidRootType(t *testing.T) {
99-
_, err := mime.LookupByFileExtension(mime.EXTENSION_CSV, mime.RootType("test"))
56+
func TestUnitLookupByFileExtensionInvalidFileExtension(t *testing.T) {
57+
invalidFileExtension := mime.FileExtension("test")
58+
_, err := mime.LookupByFileExtension(invalidFileExtension, mime.ROOT_TYPE_APPLICATION)
10059

10160
if err == nil {
102-
t.Fatal("test did not recognize the invalid root MIME type")
61+
t.Fatal("test did not recognize invalid file extension")
10362
}
10463
}
10564

10665
/*
10766
Lookup by file extension - simple
10867
*/
10968

110-
func TestUnitLookupByFileExtensionSimpleApplication(t *testing.T) {
111-
result, err := mime.LookupByFileExtensionSimple(mime.EXTENSION_JSON)
69+
func TestUnitLookupByFileExtensionSimple(t *testing.T) {
70+
for _, extension := range mime.FileExtensions {
71+
result, err := mime.LookupByFileExtensionSimple(extension)
11272

113-
if err != nil {
114-
t.Fatal(err)
73+
if err != nil {
74+
t.Fatal(err)
75+
}
76+
77+
if result == "" {
78+
t.Fatalf("no MIME type was returned for extension '%s'", extension)
79+
}
11580
}
81+
}
11682

117-
expectedResult := "application/json"
118-
if result != expectedResult {
119-
t.Fatalf("an incorrect MIME type was returned: expected '%s' and received '%s'", expectedResult, result)
83+
func TestUnitLookupByFileExtensionSimpleInvalidFileExtension(t *testing.T) {
84+
invalidFileExtension := mime.FileExtension("test")
85+
_, err := mime.LookupByFileExtensionSimple(invalidFileExtension)
86+
87+
if err == nil {
88+
t.Fatal("test did not recognize invalid file extension")
12089
}
12190
}

0 commit comments

Comments
 (0)