URI: 
       Fix images.AutoOrient regression - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit 944fcc216fa6aa6936a701ad5de23c3931a43635
   DIR parent 914fa13efd187b93afcc5db67709c744e4bfc83a
  HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Fri,  2 Aug 2024 09:37:00 +0200
       
       Fix images.AutoOrient regression
       
       Broken in v0.130.0. Added a integration test to avoid future breakage.
       
       Fixes #12712
       
       Diffstat:
         M resources/images/auto_orient.go     |       4 +++-
         A resources/images/images_integratio… |      36 +++++++++++++++++++++++++++++++
         A resources/testdata/exif/orientatio… |       0 
       
       3 files changed, 39 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/resources/images/auto_orient.go b/resources/images/auto_orient.go
       @@ -19,6 +19,7 @@ import (
        
                "github.com/disintegration/gift"
                "github.com/gohugoio/hugo/resources/images/exif"
       +        "github.com/spf13/cast"
        )
        
        var _ gift.Filter = (*autoOrientFilter)(nil)
       @@ -49,7 +50,8 @@ func (f autoOrientFilter) Bounds(srcBounds image.Rectangle) image.Rectangle {
        
        func (f autoOrientFilter) AutoOrient(exifInfo *exif.ExifInfo) gift.Filter {
                if exifInfo != nil {
       -                if orientation, ok := exifInfo.Tags["Orientation"].(int); ok {
       +                if v, ok := exifInfo.Tags["Orientation"]; ok {
       +                        orientation := cast.ToInt(v)
                                if filter, ok := transformationFilters[orientation]; ok {
                                        return filter
                                }
   DIR diff --git a/resources/images/images_integration_test.go b/resources/images/images_integration_test.go
       @@ -0,0 +1,36 @@
       +// Copyright 2024 The Hugo Authors. All rights reserved.
       +//
       +// Licensed under the Apache License, Version 2.0 (the "License");
       +// you may not use this file except in compliance with the License.
       +// You may obtain a copy of the License at
       +// http://www.apache.org/licenses/LICENSE-2.0
       +//
       +// Unless required by applicable law or agreed to in writing, software
       +// distributed under the License is distributed on an "AS IS" BASIS,
       +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
       +// See the License for the specific language governing permissions and
       +// limitations under the License.
       +
       +package images_test
       +
       +import (
       +        "testing"
       +
       +        "github.com/gohugoio/hugo/hugolib"
       +)
       +
       +func TestAutoOrient(t *testing.T) {
       +        files := `
       +-- hugo.toml --
       +-- assets/rotate270.jpg --
       +sourcefilename: ../testdata/exif/orientation6.jpg
       +-- layouts/index.html --
       +{{ $img := resources.Get "rotate270.jpg" }}
       +W/H original: {{ $img.Width }}/{{ $img.Height }}
       +{{ $rotated := $img.Filter images.AutoOrient }}
       +W/H rotated: {{ $rotated.Width }}/{{ $rotated.Height }}
       +`
       +
       +        b := hugolib.Test(t, files)
       +        b.AssertFileContent("public/index.html", "W/H original: 80/40\n\nW/H rotated: 40/80")
       +}
   DIR diff --git a/resources/testdata/exif/orientation6.jpg b/resources/testdata/exif/orientation6.jpg
       Binary files differ.