shithub: hugo

Download patch

ref: c62bbf7b11d68d52ef11a4c6c70660914c473d08
parent: 00a238e32c82b0651e4145e306840cffa46e535d
author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
date: Tue Jul 30 04:53:50 EDT 2019

Fix image format detection for upper case extensions, e.g. JPG

This regression was introduced in 0.56.0.

Fixes #6137

--- a/resources/image_test.go
+++ b/resources/image_test.go
@@ -152,6 +152,16 @@
 	assert.Equal("/a/_hu59e56ffff1bc1d8d122b1403d34e039f_90587_c876768085288f41211f768147ba2647.jpg", resized.RelPermalink())
 }
 
+// Issue 6137
+func TestImageTransformUppercaseExt(t *testing.T) {
+	assert := require.New(t)
+	image := fetchImage(assert, "sunrise.JPG")
+	resized, err := image.Resize("200x")
+	assert.NoError(err)
+	assert.NotNil(resized)
+	assert.Equal(200, resized.Width())
+}
+
 // https://github.com/gohugoio/hugo/issues/5730
 func TestImagePermalinkPublishOrder(t *testing.T) {
 	for _, checkOriginalFirst := range []bool{true, false} {
--- a/resources/resource.go
+++ b/resources/resource.go
@@ -209,7 +209,7 @@
 		fd.RelTargetFilename = sourceFilename
 	}
 
-	ext := filepath.Ext(fd.RelTargetFilename)
+	ext := strings.ToLower(filepath.Ext(fd.RelTargetFilename))
 	mimeType, found := r.MediaTypes.GetFirstBySuffix(strings.TrimPrefix(ext, "."))
 	// TODO(bep) we need to handle these ambigous types better, but in this context
 	// we most likely want the application/xml type.
binary files /dev/null b/resources/testdata/sunrise.JPG differ