ref: f2fbf0b2ea12f966be4dda6d9f54c67ee1b490bb
parent: 492327368848bcf21cfd23d5490bc47b6ea44897
author: Bjørn Erik Pedersen <[email protected]>
date: Mon Mar 27 20:09:25 EDT 2017
media: Add some more relevant MIME types
--- a/media/mediaType.go
+++ b/media/mediaType.go
@@ -47,11 +47,14 @@
}
var (
- CalendarType = Type{"text", "calendar", "ics"}
- CSSType = Type{"text", "css", "css"}
- HTMLType = Type{"text", "html", "html"}
- JSONType = Type{"application", "json", "json"}
- RSSType = Type{"application", "rss", "xml"}
+ CalendarType = Type{"text", "calendar", "ics"}
+ CSSType = Type{"text", "css", "css"}
+ HTMLType = Type{"text", "html", "html"}
+ JavascriptType = Type{"application", "javascript", "js"}
+ JSONType = Type{"application", "json", "json"}
+ RSSType = Type{"application", "rss", "xml"}
+ XMLType = Type{"application", "xml", "xml"}
+ TextType = Type{"text", "plain", "txt"}
)
// TODO(bep) output mime.AddExtensionType
--- a/media/mediaType_test.go
+++ b/media/mediaType_test.go
@@ -20,25 +20,29 @@
)
func TestDefaultTypes(t *testing.T) {
- require.Equal(t, "text", CalendarType.MainType)
- require.Equal(t, "calendar", CalendarType.SubType)
- require.Equal(t, "ics", CalendarType.Suffix)
+ for _, test := range []struct {
+ tp Type
+ expectedMainType string
+ expectedSubType string
+ expectedSuffix string
+ expectedType string
+ expectedString string
+ }{
+ {CalendarType, "text", "calendar", "ics", "text/calendar", "text/calendar+ics"},
+ {CSSType, "text", "css", "css", "text/css", "text/css+css"},
+ {HTMLType, "text", "html", "html", "text/html", "text/html+html"},
+ {JavascriptType, "application", "javascript", "js", "application/javascript", "application/javascript+js"},
+ {JSONType, "application", "json", "json", "application/json", "application/json+json"},
+ {RSSType, "application", "rss", "xml", "application/rss", "application/rss+xml"},
+ {TextType, "text", "plain", "txt", "text/plain", "text/plain+txt"},
+ } {
+ require.Equal(t, test.expectedMainType, test.tp.MainType)
+ require.Equal(t, test.expectedSubType, test.tp.SubType)
+ require.Equal(t, test.expectedSuffix, test.tp.Suffix)
- require.Equal(t, "text/calendar+ics", CalendarType.String())
- require.Equal(t, "text/calendar", CalendarType.Type())
+ require.Equal(t, test.expectedType, test.tp.Type())
+ require.Equal(t, test.expectedString, test.tp.String())
- require.Equal(t, "text", HTMLType.MainType)
- require.Equal(t, "html", HTMLType.SubType)
- require.Equal(t, "html", HTMLType.Suffix)
-
- require.Equal(t, "text/html", HTMLType.Type())
- require.Equal(t, "text/html+html", HTMLType.String())
-
- require.Equal(t, "application", RSSType.MainType)
- require.Equal(t, "rss", RSSType.SubType)
- require.Equal(t, "xml", RSSType.Suffix)
-
- require.Equal(t, "application/rss", RSSType.Type())
- require.Equal(t, "application/rss+xml", RSSType.String())
+ }
}