mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
Regression in media type suffix lookup
Introduced in Hugo 0.82.0. Fixes #8406
This commit is contained in:
parent
3ddffd064d
commit
e73f7a770d
2 changed files with 24 additions and 6 deletions
|
@ -305,7 +305,7 @@ func (t Types) GetBySuffix(suffix string) (tp Type, si SuffixInfo, found bool) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m Type) hasSuffix(suffix string) bool {
|
func (m Type) hasSuffix(suffix string) bool {
|
||||||
return strings.Contains(m.suffixesCSV, suffix)
|
return strings.Contains(","+m.suffixesCSV+",", ","+suffix+",")
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetByMainSubType gets a media type given a main and a sub type e.g. "text" and "plain".
|
// GetByMainSubType gets a media type given a main and a sub type e.g. "text" and "plain".
|
||||||
|
|
|
@ -15,6 +15,7 @@ package media
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"sort"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
qt "github.com/frankban/quicktest"
|
qt "github.com/frankban/quicktest"
|
||||||
|
@ -98,11 +99,28 @@ func TestBySuffix(t *testing.T) {
|
||||||
|
|
||||||
func TestGetFirstBySuffix(t *testing.T) {
|
func TestGetFirstBySuffix(t *testing.T) {
|
||||||
c := qt.New(t)
|
c := qt.New(t)
|
||||||
_, f, found := DefaultTypes.GetFirstBySuffix("xml")
|
|
||||||
|
types := DefaultTypes
|
||||||
|
|
||||||
|
// Issue #8406
|
||||||
|
geoJSON := newMediaTypeWithMimeSuffix("application", "geo", "json", []string{"geojson", "gjson"})
|
||||||
|
types = append(types, geoJSON)
|
||||||
|
sort.Sort(types)
|
||||||
|
|
||||||
|
check := func(suffix string, expectedType Type) {
|
||||||
|
t, f, found := types.GetFirstBySuffix(suffix)
|
||||||
c.Assert(found, qt.Equals, true)
|
c.Assert(found, qt.Equals, true)
|
||||||
c.Assert(f, qt.Equals, SuffixInfo{
|
c.Assert(f, qt.Equals, SuffixInfo{
|
||||||
Suffix: "xml",
|
Suffix: suffix,
|
||||||
FullSuffix: ".xml"})
|
FullSuffix: "." + suffix})
|
||||||
|
c.Assert(t, qt.Equals, expectedType)
|
||||||
|
}
|
||||||
|
|
||||||
|
check("js", JavascriptType)
|
||||||
|
check("json", JSONType)
|
||||||
|
check("geojson", geoJSON)
|
||||||
|
check("gjson", geoJSON)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestFromTypeString(t *testing.T) {
|
func TestFromTypeString(t *testing.T) {
|
||||||
|
|
Loading…
Reference in a new issue