shithub: hugo

Download patch

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())
+	}
 
 }