resources/images: Add some mask tests - 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 06cc8673faeedaaf85419473e7161de4369b6121
DIR parent 71fae991897c1c7da6c34995f6d8e4ae9f752aa6
HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date: Fri, 10 Jan 2025 09:54:30 +0200
resources/images: Add some mask tests
Closes #13244
Diffstat:
M resources/images/images_golden_int… | 51 +++++++++++++++++++++++++++++++
A resources/images/testdata/images_g… | 0
A resources/images/testdata/images_g… | 0
A resources/images/testdata/images_g… | 0
A resources/testdata/mask.png | 0
5 files changed, 51 insertions(+), 0 deletions(-)
---
DIR diff --git a/resources/images/images_golden_integration_test.go b/resources/images/images_golden_integration_test.go
@@ -133,6 +133,57 @@ Home.
runGolden(t, name, files)
}
+func TestGoldenFiltersMask(t *testing.T) {
+ t.Parallel()
+
+ if skipGolden {
+ t.Skip("Skip golden test on this architecture")
+ }
+
+ // Will be used to generate golden files.
+ name := "filters_mask"
+
+ files := `
+-- hugo.toml --
+[imaging]
+ bgColor = '#ebcc34'
+ hint = 'photo'
+ quality = 75
+ resampleFilter = 'Lanczos'
+-- assets/sunset.jpg --
+sourcefilename: ../testdata/sunset.jpg
+-- assets/mask.png --
+sourcefilename: ../testdata/mask.png
+
+-- layouts/index.html --
+Home.
+{{ $sunset := resources.Get "sunset.jpg" }}
+{{ $mask := resources.Get "mask.png" }}
+
+{{ template "mask" (dict "name" "transparant.png" "base" $sunset "mask" $mask) }}
+{{ template "mask" (dict "name" "yellow.jpg" "base" $sunset "mask" $mask) }}
+{{ template "mask" (dict "name" "wide.jpg" "base" $sunset "mask" $mask "spec" "resize 600x200") }}
+
+
+{{ define "mask"}}
+{{ $ext := path.Ext .name }}
+{{ if lt (len (path.Ext .name)) 4 }}
+ {{ errorf "No extension in %q" .name }}
+{{ end }}
+{{ $format := strings.TrimPrefix "." $ext }}
+{{ $spec := .spec | default (printf "resize 300x300 %s" $format) }}
+{{ $filters := slice (images.Process $spec) (images.Mask .mask) }}
+{{ $name := printf "images/%s" .name }}
+{{ $img := .base.Filter $filters }}
+{{ with $img | resources.Copy $name }}
+{{ .Publish }}
+{{ end }}
+{{ end }}
+`
+
+ runGolden(t, name, files)
+}
+
func TestGoldenFiltersText(t *testing.T) {
t.Parallel()
DIR diff --git a/resources/images/testdata/images_golden/filters_mask/transparant.png b/resources/images/testdata/images_golden/filters_mask/transparant.png
Binary files differ.
DIR diff --git a/resources/images/testdata/images_golden/filters_mask/wide.jpg b/resources/images/testdata/images_golden/filters_mask/wide.jpg
Binary files differ.
DIR diff --git a/resources/images/testdata/images_golden/filters_mask/yellow.jpg b/resources/images/testdata/images_golden/filters_mask/yellow.jpg
Binary files differ.
DIR diff --git a/resources/testdata/mask.png b/resources/testdata/mask.png
Binary files differ.